package com.taobao.tae.Mshopping.demo.activity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.taobao.api.internal.util.StringUtils;
import com.taobao.tae.Mshopping.demo.R;
import com.taobao.tae.Mshopping.demo.constant.Constants;
import com.taobao.tae.Mshopping.demo.constant.UmengAnalysis;
import com.taobao.tae.Mshopping.demo.image.ImageFetcher;
import com.taobao.tae.Mshopping.demo.model.*;
import com.taobao.tae.Mshopping.demo.task.BuildOrderTask;
import com.taobao.tae.Mshopping.demo.task.CreateOrderTask;
import com.taobao.tae.Mshopping.demo.task.UpdateOrderTask;
import com.umeng.analytics.MobclickAgent;
import java.util.ArrayList;
import java.util.Map;
public class ConfirmOrderActivity extends BaseActivity {
private TaobaoItemBasicInfo taobaoItemBasicInfo;
private SkuSelect skuSelect;
//用户在商品详情中选择购买的商品数量
private Integer count;
//商品库存
private Integer quantity;
//商品价格
private Double price;
//购买的商品列表
private ArrayList<ItemModel> itemModels;
private RelativeLayout confirmOrdcerLayoutView;
private ItemOrderModel itemOrderModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.confirm_order_activity);
getParams();
buildOrderInfo();
addButtonListener();
initView();
MobclickAgent.setDebugMode(UmengAnalysis.isOpenAnalyticsDebug);
}
/**
* 构建订单信息
*/
public void buildOrderInfo() {
confirmOrdcerLayoutView = (RelativeLayout) findViewById(R.id.confirm_order_global_layout);
BuildOrderTask buildOrderTask = new BuildOrderTask(getApplicationContext(), itemModels, confirmOrdcerLayoutView, this);
buildOrderTask.execute();
}
/**
* 获取商品详情页传递过来的商品信息
* 目前只支持单品的支付购买,不支持多个商品的同时构建订单
*/
public void getParams() {
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
if (bundle.containsKey("taobaoItemBasicInfo")) {
taobaoItemBasicInfo = (TaobaoItemBasicInfo) bundle.getSerializable("taobaoItemBasicInfo");
}
if (bundle.containsKey("skuSelect")) {
skuSelect = (SkuSelect) bundle.getSerializable("skuSelect");
}
if (bundle.containsKey("count")) {
count = bundle.getInt("count");
}
if (taobaoItemBasicInfo == null || count == null) {
finish();
}
if (skuSelect != null) {
String ppath = skuSelect.getPpath();
ShowItemSku showItemSku = taobaoItemBasicInfo.getSkuModel().getPriceUnitsByPpath(ppath);
String ppathId = taobaoItemBasicInfo.getSkuModel().getPpathIdByPath(ppath);
PriceUnit priceUnit = showItemSku.getPriceUnits().get(PriceDisplay.HIGHLIGHT.getCode());
quantity = showItemSku.getQuantity();
price = Double.valueOf(priceUnit.getPrice());
ItemModel item = new ItemModel();
item.setItemId(taobaoItemBasicInfo.getItemId());
item.setQuantity(count);
item.setSkuId(Long.valueOf(ppathId));
itemModels = new ArrayList<ItemModel>();
itemModels.add(item);
} else {
//商品 无 SKU 属性
DefaultShowItemSku defaultShowItemSku = taobaoItemBasicInfo.getSkuModel().getDefaultShowItemSku();
PriceUnit _priceUnit = defaultShowItemSku.getPriceUnits().get(PriceDisplay.HIGHLIGHT.getCode());
price = Double.valueOf(_priceUnit.getPrice());
quantity = defaultShowItemSku.getQuantity();
ItemModel item = new ItemModel();
item.setItemId(taobaoItemBasicInfo.getItemId());
item.setQuantity(count);
itemModels = new ArrayList<ItemModel>();
itemModels.add(item);
}
}
/**
* 添加界面上的按钮的监听器
*/
public void addButtonListener() {
RelativeLayout backBtnLayout = (RelativeLayout) findViewById(R.id.confirm_order_top_back_btn);
backBtnLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("itemId", taobaoItemBasicInfo.getItemId().toString());
bundle.putInt("ACTIVITY_NAME_KEY", R.string.title_activity_pay_order);
intent.putExtras(bundle);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setClass(ConfirmOrderActivity.this, ItemDetailActivity.class);
startActivity(intent);
finish();
}
});
Button confirmView = (Button) findViewById(R.id.confirm_order_confirm_btn);
confirmView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView leaveMessage = (TextView) findViewById(R.id.confirm_order_leave_message);
itemOrderModel.getLeaveMessage().getFields().setValue(leaveMessage.getText().toString());
CreateOrderTask createOrderTask = new CreateOrderTask(getApplicationContext(), itemModels, confirmOrdcerLayoutView, ConfirmOrderActivity.this);
createOrderTask.execute(itemOrderModel.getCreateOrderRequiredJson());
}
});
}
/**
* 初始化确认订单页的数据
*/
public void initView() {
TextView shopTitleView = (TextView) findViewById(R.id.confirm_order_shop_title);
shopTitleView.setText(taobaoItemBasicInfo.getSellerInfo().getShopTitle());
ImageView imageView = (ImageView) findViewById(R.id.confirm_order_item_img);
ImageFetcher imageFetcher = new ImageFetcher(this, 200);
imageFetcher.loadImage(taobaoItemBasicInfo.getPicsPath().get(0), imageView);
TextView titleTextView = (TextView) findViewById(R.id.confirm_order_item_title_txt);
if (taobaoItemBasicInfo.getTitle().length() > 15) {
titleTextView.setText(taobaoItemBasicInfo.getTitle().substring(0, 15).concat("..."));
} else {
titleTextView.setText(taobaoItemBasicInfo.getTitle());
}
if (skuSelect != null) {
TextView skuTextView = (TextView) findViewById(R.id.confirm_order_item_sku_txt);
String skuPropString = skuSelect.getUserSelectSkuPropNameString();
if (skuPropString.length() > 20) {
skuPropString = skuPropString.substring(0, 20).concat("...");
}
skuTextView.setText(skuPropString);
}
SellerInfo sellerInfo = taobaoItemBasicInfo.getSellerInfo();
ImageView itemFromImageView = (ImageView)findViewById(R.id.confirm_order_item_from_icon);
TextView itemFromTextView = (TextView)findViewById(R.id.confirm_order_item_from_text);
if (sellerInfo != null && "B".equalsIgnoreCase(sellerInfo.getType())) {
itemFromImageView.setBackgroundResource(R.drawable.tmall_icon);
itemFromTextView.setText("天猫店铺");
}
if (sellerInfo != null && "C".equalsIgnoreCase(sellerInfo.getType())) {
itemFromImageView.setBackgroundResource(R.drawable.tb_icon);
itemFromTextView.setText("淘宝店铺");
}
TextView priceTextView = (TextView) findViewById(R.id.confirm_order_item_price_txt);
priceTextView.setText("¥".concat(price.toString()));
TextView itemCountTextView = (TextView) findViewById(R.id.confirm_order_item_buy_count_value);
itemCountTextView.setText(count.toString());
}
public ItemOrderModel getItemOrderModel() {
return itemOrderModel;
}
public void setItemOrderModel(ItemOrderModel itemOrderModel) {
this.itemOrderModel = itemOrderModel;
}
}