package com.partynetwork.iparty.assistant; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.Assistant_getOrderByIdRequest; import com.partynetwork.dataprovider.json.struct.Assistant_getOrderByIdResponse; import com.partynetwork.dataprovider.util.ActionUtil; import com.partynetwork.dataprovider.util.StringUtil; import com.partynetwork.dataprovider.util.T; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.app.common.BitmapManager; import com.partynetwork.iparty.info.OrderInfo; import com.partynetwork.iparty.site.SiteUserInfoQRActivity; public class OrderInfoActivity extends Activity implements IJsonResultListener { /** 订单Id */ public static final String ORDER_ID = "orderId"; /** * 订单背景图 */ @ViewInject(R.id.cover_img) private ImageView coverImg; /** * 标题 */ @ViewInject(R.id.title) private TextView title; /** * 参加时间 */ @ViewInject(R.id.join_time) private TextView joinTime; /** * 地址 */ @ViewInject(R.id.address) private TextView address; /** * 金额 */ @ViewInject(R.id.money) private TextView money; /** * 发起者 */ @ViewInject(R.id.initiator) private TextView initiator; /** * 电话 */ @ViewInject(R.id.phone) private TextView phone; /** * 订单号 */ @ViewInject(R.id.order_number) private TextView orderNumber; /** * 下单时间 */ @ViewInject(R.id.order_time) private TextView orderTime; /** * 订单状态 */ @ViewInject(R.id.order_state) private TextView orderState; /** * 退款 */ @ViewInject(R.id.refund) private TextView refund; /** * 二维码图片 */ @ViewInject(R.id.qr_code_img) private ImageView qrCodeImg; /** * 是否已使用 */ @ViewInject(R.id.qr_code_use_iv) private ImageView qrCodeUse; /** * 验证码 */ @ViewInject(R.id.captcha) private TextView captcha; /** 订单Id */ private int orderId; /** 数据源 */ private OrderInfo info; /** * * 覆盖方法 * * @see android.app.Activity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.order_info); ViewUtils.inject(this); init(); } /** * 初始化 */ private void init() { orderId = getIntent().getIntExtra(ORDER_ID, 0); sendRequest(); } /** * 初始化数据 */ private void initData() { if (info == null) { return; } // 订单背景图 new BitmapManager().loadBitmap(info.getEventFrontCoverUrl(), coverImg); // 标题 StringUtil.setText(title, info.getEventTitle()); // 参加时间 this.joinTime.setText("参加时间:" + StringUtil.getStrTime(info.getJoinTime())); // 地址 StringUtil.setText(address, info.getEventAddress()); // 金额 this.money.setText("¥:" + StringUtil.formatFloat(info.getComboMoney())); // 发起者 this.initiator.setText("发起人:" + StringUtil.checkStr(info.getOrganizerNickName())); // 电话 this.phone.setText("电话:" + StringUtil.checkStr(info.getOrganizerPhone())); // 订单号 this.orderNumber.setText("订单编号:" + StringUtil.checkStr(info.getOrderNumber())); // 订单完成时间 this.orderTime.setText("下单时间:" + StringUtil.getStrTime(info.getOrderGenerateTime())); // 订单状态 int orderStateInt = info.getOrderStatus(); String orderStateStr = ""; switch (orderStateInt) { case 0: orderStateStr = "未付款"; break; case 1: orderStateStr = "已付款"; break; case 2: orderStateStr = "待参加"; break; case 3: orderStateStr = "已参加"; break; case 4: orderStateStr = "退款中"; break; case 5: orderStateStr = "退款成功"; break; case 6: orderStateStr = "已完成"; break; case 7: orderStateStr = "未付款"; break; default: orderStateStr = "未付款"; break; } this.orderState.setText("订单状态:" + orderStateStr); // 验证码 String captcha = StringUtil.checkStr(info.getCaptcha()); this.captcha.setText("验证码:" + captcha); if (!captcha.equals("")) { qrCodeImg.setImageBitmap(SiteUserInfoQRActivity.getQR(this, ActionUtil.Capture.QR_PREFIX + "iparty_" + captcha)); } if (orderStateInt == 3 || orderStateInt == 6) { qrCodeUse.setImageResource(R.drawable.qr_code_used); qrCodeUse.setVisibility(View.VISIBLE); refund.setText("我要评价"); refund.setVisibility(View.VISIBLE); } else if (orderStateInt == 5 || orderStateInt == 5) { qrCodeUse.setVisibility(View.VISIBLE); qrCodeUse.setImageResource(R.drawable.qr_code_refund); refund.setVisibility(View.GONE); } else{ qrCodeUse.setVisibility(View.GONE); refund.setText("我要退款"); refund.setVisibility(View.VISIBLE); } } /** * 发送请求 */ private void sendRequest() { Assistant_getOrderByIdRequest request = new Assistant_getOrderByIdRequest(); request.setOrderId(orderId); AppContext.getInstance().getmDataProvider().getJsonFromNetwork(request, this); } /** * 事件监听 * * @param view */ @OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.return_rl, R.id.refund }) public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 关闭 finish(); break; case R.id.return_rl: // 回报内容 if (info == null) { return; } Intent intent = new Intent(this, OrderInfoComboActivity.class); intent.putExtra(OrderInfoComboActivity.COMBO_MONEY, info.getComboMoney()); intent.putExtra(OrderInfoComboActivity.COMBO_INTRODUCE, info.getComboIntroduce()); intent.putExtra(OrderInfoComboActivity.COMBO_PHOTO_URL, info.getComboPhotoUrl()); this.startActivity(intent); break; case R.id.refund: if (info.getOrderStatus() == 3 || info.getOrderStatus() == 6) { // 评价 Intent evaIntent = new Intent(this, OrderEvaluateActivity.class); evaIntent.putExtra(OrderEvaluateActivity.ORDER_ID, info.getOrderId()); this.startActivity(evaIntent); } else if (info.getOrderStatus() == 5) { } else { // 退款 Intent intent2 = new Intent(this, OrderRefundActivity.class); intent2.putExtra(OrderRefundActivity.ORDER_ID, info.getOrderId()); intent2.putExtra(OrderRefundActivity.ORDER_NUMBER, info.getOrderNumber()); intent2.putExtra(OrderRefundActivity.ORDER_MONEY, info.getComboMoney()); this.startActivity(intent2); } break; default: break; } } @Override protected void onResume() { super.onResume(); sendRequest(); } public void onNetworkRequest() { // TODO 自动生成的方法存根 } public void onResultSuccess(NetworkEntity entity) { /** 订单 */ if (entity.getRequest().getAction() .equals(new Assistant_getOrderByIdRequest().getAction())) { Assistant_getOrderByIdResponse mResponse = (Assistant_getOrderByIdResponse) entity .getResponse(); info = mResponse.getDetails(); initData(); } } public void onResultFail(String result) { T.showTips(this, R.drawable.tips_error, result); } }