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);
}
}