2e9327adda674945767abea05223514809900eef.svn-base
4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.ivt.android.me.ui.activity.mine;
import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.ivt.android.me.R;
import com.ivt.android.me.bean.evenbus.CodeBean;
import com.ivt.android.me.constant.BaseInfo;
import com.ivt.android.me.constant.CodeUtils;
import com.ivt.android.me.model.main.ModleAccount;
import com.ivt.android.me.ui.base.BaseActivity;
import com.ivt.android.me.utils.cnliveutil.PayResult;
import com.ivt.android.me.utils.publics.MyToastUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
/**
*
* @author YeMint 2016-5-5 MineAccountActivity.java TODO 最后修改人 :无
*/
public class MineAccountActivity extends BaseActivity {
@ViewInject(R.id.acc_tv_balance)
private TextView tv;
@ViewInject(R.id.account_list)
private ListView account_list;
@ViewInject(R.id.acc_back_btn)
private ImageView acc_back_btn;
private int oldmoney;
private int chinacount;
/**
* 支付宝返回参数
*/
private static final int SDK_PAY_FLAG = 1;
/**
* 充值成功
*/
private static final int RECHARGESUCCESS = 2;
/**
* 微信支付
*/
private static final int WCHATPAY = 3;
private ModleAccount modle;
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@SuppressWarnings("unused")
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_PAY_FLAG: {
PayResult payResult = new PayResult((String) msg.obj);
String resultInfo = payResult.getResult();// 同步返回需要验证的信息
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为“9000”则代表支付成功,具体状态码代表含义可参考接口文档
if (TextUtils.equals(resultStatus, "9000")) {
modle.recharge(msg.arg1);
} else {
// 判断resultStatus 为非"9000"则代表可能支付失败
// "8000"代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态)
if (TextUtils.equals(resultStatus, "8000" + resultStatus)) {
Toast.makeText(MineAccountActivity.this, "支付结果确认中",
Toast.LENGTH_SHORT).show();
} else {
// 其他值就可以判断为支付失败,包括用户主动取消支付,或者系统返回的错误
if (resultStatus.equalsIgnoreCase("4000")) {
MyToastUtils.showToast(MineAccountActivity.this,
"支付失败,请下载支付宝");
}
}
}
break;
}
case RECHARGESUCCESS:
MyToastUtils.showToast(MineAccountActivity.this, "充值成功");
int money = msg.arg1;
oldmoney = money;
tv.setText(oldmoney / 100 + "");
BaseInfo.base_user.setChinesecoin(oldmoney);
break;
case WCHATPAY:
chinacount = msg.arg1;
break;
default:
break;
}
};
};
@Override
public int getResLayoutId() {
// TODO Auto-generated method stub
return R.layout.activity_mine_account;
}
@Override
protected void findViews() {
// TODO Auto-generated method stub
ViewUtils.inject(this);
}
@Override
protected void processLogic() {
// TODO Auto-generated method stub
modle = new ModleAccount(this, mHandler, account_list);
modle.GetPayMoney();
oldmoney = this.getIntent().getIntExtra("account", 0);
tv.setText(oldmoney + "");
acc_back_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MineAccountActivity.this.finish();
}
});
}
@Override
public void onEventMainThread(CodeBean code) {
// TODO Auto-generated method stub
switch (code.getCode()) {
case CodeUtils.WCHATPAYSUCCESS:
modle.recharge(chinacount);
break;
case CodeUtils.WCHATPAYFAIL:
MyToastUtils.showToast(MineAccountActivity.this, "支付失败");
break;
default:
break;
}
}
}