package com.partynetwork.iparty.assistant;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
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_setApplyForRefundRequest;
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.myview.mytoast.OkPopup;
import com.partynetwork.myview.wheelview.ArrayWheelAdapter;
import com.partynetwork.myview.wheelview.WheelAdapter;
import com.partynetwork.myview.wheelview.WheelPicker;
import com.partynetwork.myview.wheelview.WheelPicker.WheelListener;
import com.partynetwork.myview.wheelview.WheelView;
public class OrderRefundActivity extends Activity implements
IJsonResultListener {
public static String ORDER_ID = "orderId";
public static String ORDER_NUMBER = "orderNumber";
public static String ORDER_MONEY = "orderMoney";
/**
* 退款原因
*/
@ViewInject(R.id.title)
private TextView title;
/**
* 金额
*/
@ViewInject(R.id.money)
private EditText money;
/**
* 说明
*/
@ViewInject(R.id.content)
private EditText content;
/**
* 确认退款
*/
@ViewInject(R.id.next)
private TextView next;
/** 消息提示框 */
private OkPopup mOkPopup;
/** 滚轮弹窗 */
private WheelPicker wheelPicker;
/** 订单Id */
private int orderId;
/** 订单编号 */
private String orderNumber;
/** 订单金额 */
private float orderMoney;
/**
*
* 覆盖方法
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.order_refund);
ViewUtils.inject(this);
init();
}
/**
* 初始化
*/
private void init() {
orderId = getIntent().getIntExtra(ORDER_ID, 0);
orderNumber = getIntent().getStringExtra(ORDER_NUMBER);
orderMoney = getIntent().getFloatExtra(ORDER_MONEY, 0);
mOkPopup = new OkPopup(this);
wheelPicker = new WheelPicker(this,1, new ArrayWheelAdapter<String>(
new String[] { "临时有事无法参加", "个人原因不想参加了", "虚假Party", "其他" }),
reasonWheelListener);
money.setEnabled(false);
money.setText(StringUtil.formatFloat(orderMoney));
}
/**
* 事件监听
*
* @param view
*/
@OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.title, R.id.next })
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 关闭
finish();
break;
case R.id.menu_head_right:
// 说明
mOkPopup.setTitle("1.在众筹Party未成功筹集目标资金前,参加者可全额退款;\n");
mOkPopup.showAtLocation(title);
break;
case R.id.title:
wheelPicker.showAt(title);
break;
case R.id.next:
// 确认退款
sendRequest();
break;
default:
break;
}
}
/**
* 发送请求
*/
private void sendRequest() {
String title = StringUtil.checkStr(this.title.getText().toString());
if (title.equals("")) {
mOkPopup.setTitle("请选择退款原因");
mOkPopup.showAtLocation(this.title);
return;
}
String money = StringUtil.checkEditText(this.money);
if (money.equals("")) {
mOkPopup.setTitle("请选择退款金额");
mOkPopup.showAtLocation(this.title);
return;
}
String content = StringUtil.checkEditText(this.content);
if (content.equals("")) {
mOkPopup.setTitle("请填写退款说明");
mOkPopup.showAtLocation(this.content);
return;
}
AppContext context = (AppContext) getApplication();
Assistant_setApplyForRefundRequest request = new Assistant_setApplyForRefundRequest();
request.setOrderId(orderId);
request.setOrderNumber(orderNumber);
request.setUserId(context.getLoginUid());
request.setRefundReason(title);
request.setRefundMoney(orderMoney);
request.setRefundExplanation(content);
AppContext.getInstance().getmDataProvider()
.getJsonFromNetwork(request, this);
}
/**
* 性别监听对象
*/
private WheelListener reasonWheelListener = new WheelListener() {
public WheelAdapter onChange(WheelView wheel, int oldValue, int newValue) {
return null;
}
public void confirm(String str) {
title.setText(str);
}
public void cancel() {
}
};
@Override
public void onNetworkRequest() {
// TODO 自动生成的方法存根
}
@Override
public void onResultSuccess(NetworkEntity entity) {
if (entity.getRequest().getAction()
.equals(new Assistant_setApplyForRefundRequest().getAction())) {
T.showTips(this, R.drawable.tips_smile, "退款成功!");
finish();
}
}
@Override
public void onResultFail(String result) {
T.showTips(this, R.drawable.tips_error, result);
}
}