package com.ttj.activity; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import lib.view.ViewUtils; import lib.view.annotation.ViewInject; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.ttj.MyApplication; import com.ttj.NetActivity; import com.ttj.R; import com.ttj.adapter.Order_DetListAdapter; import com.ttj.alipay.PayMainAty; import com.ttj.bean.ObjNetResultBean; import com.ttj.bean.OrderDetailBean; import com.ttj.bean.OrderDetailBean.goods_bean; import com.ttj.constants.Url; import com.ttj.utils.AtyUtils; import com.ttj.utils.JsonUtils; import com.ttj.utils.LogUtils; import com.ttj.utils.MD5; import com.ttj.utils.SPUtils; import com.ttj.utils.TextUtils; import com.ttj.utils.ToastUtil; /** * 订单详情 * * @author Admin * */ public class Order_DetailAty extends NetActivity { @ViewInject(R.id.p2_img_back) private ImageView ImgBack; @ViewInject(R.id.p2_btn_order_detail_cancle) private ImageView ImgCancle; @ViewInject(R.id.p2_main_order_detail_sh_name) private TextView textShName; @ViewInject(R.id.p2_main_order_detail_sh_address) private TextView textShAdd; @ViewInject(R.id.p2_main_order_detail_sh_phone) private TextView textShPhone; @ViewInject(R.id.p2_main_order_detail_pay_name) private TextView textPayName; @ViewInject(R.id.p2_main_order_detail_send_time) private TextView textSendTime; @ViewInject(R.id.p2_main_order_detail_order_sum) private TextView textOrSum; @ViewInject(R.id.p2_main_order_detail_goods_sum) private TextView textGoodsSum; @ViewInject(R.id.p2_main_order_detail_order_remark) private TextView textOrderRemark; @ViewInject(R.id.p2_main_order_detail_net_remark) private TextView textOrderNetMark; // @ViewInject(R.id.p2_main_order_detail_order_state) // private TextView textOrderState; @ViewInject(R.id.p2_main_order_detail_order_create_time) private TextView textOrderCreateTime; // // @ViewInject(R.id.p2_main_order_detail_order_comp_time) // private TextView textOrderCompTime; @ViewInject(R.id.p2_btn_order_detail_cancle) private ImageView imgCancle; @ViewInject(R.id.p2_main_order_detail_confirm) private Button btnConfirmGood; @ViewInject(R.id.p2_main_order_detail_list) private ListView lv_Goods; @ViewInject(R.id.p2_tv_to_car) private TextView tv_ToCar; private String orderId, payName, show_OrderInfo; private Order_DetListAdapter adapter; private List<goods_bean> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MyApplication.getInstance().addActivity(this); setContentView(R.layout.p2_main_order_detail_layout); ViewUtils.inject(this); orderId = getIntent().getStringExtra("orderId"); list = new ArrayList<OrderDetailBean.goods_bean>(); adapter = new Order_DetListAdapter(this, list); lv_Goods.setAdapter(adapter); lv_Goods.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { final goods_bean bean = list.get(position); // private String order_state; // private int order_status_id; // private String ship_fee; // private String order_finish_time; // private String order_time; // private int IsPay; // private String UnitSale; show_OrderInfo = "商品名称:" + bean.getGoods_name() + "\n商品单价:" + bean.getGoods_price() + "元/" + bean.getGoods_unit() + "\n商品数量:" + bean.getGoods_count() + "\n商品名称:" + bean.getGoods_name() + "\n订单运费:" + bean.getShip_fee() + "元\n订单总价:" + bean.getGoods_totalprice() + "元\n订单状态:" + bean.getOrder_state(); if (bean.getIsPay() != 0) { show_OrderInfo += "\n支付状态:已支付"; } else { show_OrderInfo += "\n支付状态:未支付"; } final String order_DetailID = bean.getTDealDetailID(); String order_State = bean.getOrder_state(); if (order_State.equals("未核单")) { new AlertDialog.Builder(Order_DetailAty.this) .setTitle("订单信息").setMessage(show_OrderInfo) .setNegativeButton("取消订单", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { cancelOrder(order_DetailID); } }).create().show(); } else if (order_State.equals("已核单") && bean.getIsPay() == 0) { new AlertDialog.Builder(Order_DetailAty.this) .setTitle("订单信息").setMessage(show_OrderInfo) .setPositiveButton("支付", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (payName.equals("余额支付")) { confirmPay(order_DetailID); } else { netPayMethod(bean); } } }).setNegativeButton("取消订单", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { cancelOrder(order_DetailID); } }).create().show(); } else if (order_State.equals("已核单") && bean.getIsPay() == 1) { new AlertDialog.Builder(Order_DetailAty.this) .setTitle("订单信息").setMessage(show_OrderInfo) .setNegativeButton("确认收货", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { confirmReceipt(order_DetailID); } }).create().show(); } else if (order_State.equals("发货中") && bean.getIsPay() == 0) { new AlertDialog.Builder(Order_DetailAty.this) .setTitle("订单信息").setMessage(show_OrderInfo) .setPositiveButton("支付", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (payName.equals("余额支付")) { confirmPay(order_DetailID); } else { netPayMethod(bean); } } }).setNegativeButton("确认收货", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { confirmReceipt(order_DetailID); } }).create().show(); } else if (order_State.equals("发货中") && bean.getIsPay() == 1) { new AlertDialog.Builder(Order_DetailAty.this) .setTitle("订单信息").setMessage(show_OrderInfo) .setNegativeButton("确认收货", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { confirmReceipt(order_DetailID); } }).create().show(); } else { new AlertDialog.Builder(Order_DetailAty.this) .setTitle("订单信息").setMessage(show_OrderInfo) .create().show(); } } }); ImgBack.setOnClickListener(this); btnConfirmGood.setOnClickListener(this); imgCancle.setOnClickListener(this); tv_ToCar.setOnClickListener(this); } /** * 网银支付 * * @param bean */ private void netPayMethod(final goods_bean bean) { String[] item = { "更改支付方式", "支付宝支付", "微信支付" }; new AlertDialog.Builder(Order_DetailAty.this).setTitle("支付方式") .setItems(item, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case 0: break; case 1: // 支付宝支付 Intent intent = new Intent(Order_DetailAty.this, PayMainAty.class); intent.putExtra("pro_Subject", bean.getGoods_name()); intent.putExtra("pro_Desc", "数量:\tX " + bean.getGoods_count() + "\n单价:\t" + bean.getGoods_price() + "元/" + bean.getGoods_unit()); intent.putExtra("pro_Price", bean.getGoods_totalprice()); intent.putExtra("TDealDetailID", bean.getTDealDetailID()); startActivity(intent); break; case 2: ToastUtil.show(Order_DetailAty.this, "微信支付暂未开通", 500); break; default: break; } } }).setNegativeButton("取消", null).create().show(); } @Override protected void onResume() { super.onResume(); HashMap<String, String> params = new HashMap<String, String>(); params.put("sp_userid", SPUtils.getUid(this) + ""); params.put("sp_order", orderId); params.put("port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(this) + orderId)); asynNet(Url.Order_Detail, params, 0); } @Override public void success(String result, int tag) { LogUtils.log(result); ObjNetResultBean netBean = JsonUtils.parseNetResult(result); if (netBean.getStatus().getCode() == 200) { if (tag == 0) { String res = netBean.getBackinfo().toString(); OrderDetailBean bean = JsonUtils.parseOrderDetail(res); textShName.setText(bean.getSh_name()); textShAdd.setText(bean.getSh_address()); textShPhone.setText(bean.getSh_phone()); textPayName.setText(bean.getPay_name()); // "sh_name":"jgxfh","sh_address":"cjkk","sh_phone":"13678925809", // "pay_name":"在线支付","SendTimeTypeName":"全天可送货","order_totalprice":"0", // "goods_amount":"0","ship_fee":"0","order_remark":"","shop_remark":null,"order_state":"未付款", // "order_add_time":"2015-04-14 00:00:00","order_finish_time":"2015-04-14 00:00:00", textSendTime.setText(bean.getSendTimeTypeName()); textOrSum.setText(bean.getOrder_totalprice()); textGoodsSum.setText(bean.getGoods_amount()); textOrderRemark.setText(bean.getOrder_remark()); textOrderNetMark.setText(bean.getShop_remark()); payName = bean.getPay_name(); // if (bean.getOrder_state().equals("未付款")) { // imgCancle.setVisibility(View.VISIBLE); // } // if (bean.getOrder_state().equals("发货中")) { // btnConfirmGood.setVisibility(View.VISIBLE); // } textOrderCreateTime.setText(bean.getOrder_add_time()); List<goods_bean> lists = bean.getGoods_list(); adapter.clearData(); adapter.addData(lists); adapter.notifyDataSetChanged(); } else if (tag == 1) { ToastUtil.show(this, "订单取消成功", 500); onResume(); } else if (tag == 2) { ToastUtil.show(this, "您已成功确认收货", 500); onResume(); } else if (tag == 3) { ToastUtil.show(this, "您已成功支付订单", 500); onResume(); } } else { ToastUtil.show(this, netBean.getStatus().getMessage(), 500); } } @Override public void onclick(View v) { if (v == ImgBack) { Order_DetailAty.this.finish(); } else if (v == tv_ToCar) { AtyUtils.turnToCar(Order_DetailAty.this); } } private void cancelOrder(final String id) { final View view = LayoutInflater.from(this).inflate( R.layout.alert_dialog_edit_layout, null); new AlertDialog.Builder(this).setTitle("提醒").setMessage("确定删除吗?") .setView(view).setNegativeButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { HashMap<String, String> params = new HashMap<String, String>(); params.put("sp_userid", SPUtils.getUid(Order_DetailAty.this)); params.put("sp_order", id); params.put( "port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(Order_DetailAty.this) + id)); asynNet(Url.Order_Cancle, params, 1); } }).setPositiveButton("取消", null).create().show(); } private void confirmReceipt(final String id) { new AlertDialog.Builder(this).setTitle("提醒").setMessage("确认收货吗?") .setNegativeButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { HashMap<String, String> params = new HashMap<String, String>(); params.put("sp_userid", SPUtils.getUid(Order_DetailAty.this)); params.put("sp_order", id); params.put( "port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(Order_DetailAty.this) + id)); asynNet(Url.Confirm_Receipt, params, 2); } }).setPositiveButton("取消", null).create().show(); } private void confirmPay(final String id) { View view = LayoutInflater.from(this).inflate( R.layout.p2_edit_comfirm_pass, null); final EditText edit_PayPass = (EditText) view .findViewById(R.id.p2_edit_pay_pass); String items[] = { "更改支付方式", "确认付款" }; new AlertDialog.Builder(this).setTitle("确认支付方式").setItems(items, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case 0: break; case 1: HashMap<String, String> params = new HashMap<String, String>(); String pay_pass = edit_PayPass.getText().toString(); if (TextUtils.isBlank(pay_pass)) { ToastUtil.show(Order_DetailAty.this, "请输入密码", 500); return; } params.put("sp_userid", SPUtils.getUid(Order_DetailAty.this)); params.put("PayPassWord", MD5.getMD5ofStr(pay_pass)); params.put("sp_order", id); params.put("port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(Order_DetailAty.this))); asynNet(Url.Confirm_Pay, params, 3); break; default: break; } } }).setNegativeButton("取消", null).create().show(); // new AlertDialog.Builder(this).setTitle("提醒").setMessage("确认付款吗?") // .setView(view).setNegativeButton("确定", new OnClickListener() { // // @Override // public void onClick(DialogInterface dialog, int which) { // HashMap<String, String> params = new HashMap<String, String>(); // String pay_pass = edit_PayPass.getText().toString(); // if (TextUtils.isBlank(pay_pass)) { // ToastUtil.show(Order_DetailAty.this, "请输入密码", 500); // return; // } // params.put("sp_userid", // SPUtils.getUid(Order_DetailAty.this)); // params.put("PayPassWord", MD5.getMD5ofStr(pay_pass)); // params.put("sp_order", id); // params.put( // "port_password", // MD5.getMD5ofStr(Url.KET // + SPUtils.getUid(Order_DetailAty.this))); // asynNet(Url.Confirm_Pay, params, 3); // } // }).setPositiveButton("取消", null).create().show(); } }