package com.quark.us; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.json.JSONObject; import android.app.Activity; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.carson.constant.ConstantForSaveList; import com.carson.https.HttpsUtils; import com.droid.carson.BankActivity; import com.qingmu.jianzhidaren.R; import com.quark.common.ToastUtil; import com.quark.common.Url; import com.quark.ui.widget.CustomDialogTixian; import com.quark.utils.Util; import com.quark.utils.WaitDialog; public class MyWalletTixianActivity extends Activity implements OnClickListener { private TextView availibleMoneyTv, nameTv, bankNameTv;// 可用余额 private EditText zfbAccountEdt, bankCardEdt, bankZhihangEdt; private EditText tiquMoneyEdt;// 提取金额 private LinearLayout zfbLayout, bankLayout;// 支付宝模块、银行卡模块 private ImageView zfbAccountDelImv, bankCardDelImv, bankZhihangDelImv; boolean isZhiFuBao; private Button subBtn;// 提交 private String thisToken; private String tokenUrl;// 获取token private String tiXianUrl;// 提现url private String user_id; private SharedPreferences sp; private String name;// 姓名 private String userMoney;// 余额 private boolean idcardFlag = false;// 默认身份证后6位填写错误 private String myIdcardValue;// 身份证后6位 private WaitDialog dialog;// 提交缓冲框 private RelativeLayout bankNameRelayout;// 银行名称 private ImageView bankIconImv;// 银行图标 private TextView tipsChooseBankTv;// 请选择银行的提示 private TextView bankNameTipsTv;// 银行名称 private Drawable[] iconDrawables;// 银行icon @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_wallet_tixian); name = getIntent().getStringExtra("name"); userMoney = getIntent().getStringExtra("userMoney"); sp = getSharedPreferences("jrdr.setting", MODE_PRIVATE); user_id = sp.getString("userId", ""); isZhiFuBao = getIntent().getExtras().getBoolean("isZhiFuBao"); tokenUrl = Url.USER_GET_TOKEN; tiXianUrl = Url.USER_DRAW_MONEY; setBackButton(); initView(); initData(); iconDrawables = new Drawable[] { getResources().getDrawable(R.drawable.bank_01), getResources().getDrawable(R.drawable.bank_02), getResources().getDrawable(R.drawable.bank_03), getResources().getDrawable(R.drawable.bank_04), getResources().getDrawable(R.drawable.bank_05), getResources().getDrawable(R.drawable.bank_06), getResources().getDrawable(R.drawable.bank_07), getResources().getDrawable(R.drawable.bank_08), getResources().getDrawable(R.drawable.bank_09), getResources().getDrawable(R.drawable.bank_10), getResources().getDrawable(R.drawable.bank_11), getResources().getDrawable(R.drawable.bank_12), getResources().getDrawable(R.drawable.bank_13), getResources().getDrawable(R.drawable.bank_14), getResources().getDrawable(R.drawable.bank_15), getResources().getDrawable(R.drawable.bank_16), getResources().getDrawable(R.drawable.bank_17), getResources().getDrawable(R.drawable.bank_18), getResources().getDrawable(R.drawable.bank_19), getResources().getDrawable(R.drawable.bank_20) }; } @Override protected void onResume() { super.onResume(); getToken(); } /** * 检测本地输入框填写内容 type 1:支付宝 2:银行卡 * */ private boolean check(int type) { if (type == 1) { // 提现帐号 String temp_zfb_account_num = zfbAccountEdt.getText().toString(); if (temp_zfb_account_num != null) { // 先判断是否全是数字 if (Util.isNumeric(temp_zfb_account_num)) { if (!Util.isMobileNO(temp_zfb_account_num)) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_account_no_vertify)); return false; } } else { // 判断邮箱 if (!Util.isEmail(temp_zfb_account_num)) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_account_no_vertify)); return false; } } } else { ToastUtil.showShortToast(getResources().getString( R.string.wallet_account_no_vertify)); return false; } } else if (type == 2) { // 银行名称 String tempBank = bankNameTv.getText().toString(); if (tempBank != null) { if (tempBank.trim().length() < 4) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_bank_not_availible)); return false; } } else { ToastUtil.showShortToast(getResources().getString( R.string.wallet_bank_not_availible)); return false; } // 银行卡号 String tempBankNum = bankCardEdt.getText().toString(); if (tempBankNum != null) { if (tempBankNum.length() < 10) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_bank_card_not_availible)); return false; } if (!Util.checkBankCard(tempBankNum)) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_bank_card_not_availible)); return false; } } else { ToastUtil.showShortToast(getResources().getString( R.string.wallet_bank_card_not_availible)); return false; } // 开户支行 String tempBankZhihang = bankZhihangEdt.getText().toString(); if (tempBankZhihang != null) { if (tempBankZhihang.trim().length() < 4) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_bank_zhihang_not_availible)); return false; } } else { ToastUtil.showShortToast(getResources().getString( R.string.wallet_bank_zhihang_not_availible)); return false; } } else { // 非支付宝、银行卡提现 ToastUtil.showShortToast("异常状态"); return false; } // 提现余额 String temp_tiqu_money = tiquMoneyEdt.getText().toString(); if (temp_tiqu_money != null) { // 判断提取金额是否大于余额 double availibleMoney = 0; try { availibleMoney = Double.parseDouble(userMoney); } catch (Exception e) { availibleMoney = 0; } if (availibleMoney <= 0) { // 帐号余额为0 ToastUtil.showShortToast(getResources().getString( R.string.wallet_money_not_availible)); return false; } // 提取金额 double tempMoney = 0; try { tempMoney = Double.parseDouble(temp_tiqu_money); } catch (Exception e) { tempMoney = 0; } if (tempMoney <= 0) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_money_no_input)); return false; } if (availibleMoney < tempMoney) { ToastUtil.showShortToast(getResources().getString( R.string.wallet_money_not_availible)); return false; } } else { // 金额没有输入 ToastUtil.showShortToast(getResources().getString( R.string.wallet_money_no_input)); return false; } return true; } private void initView() { subBtn = (Button) findViewById(R.id.my_wallet_tixian_submit_btn); subBtn.setOnClickListener(this); zfbLayout = (LinearLayout) findViewById(R.id.my_wallet_tixian_zhifubao_layout); bankLayout = (LinearLayout) findViewById(R.id.my_wallet_tixian_bank_layout); TextView tt_tipTv = (TextView) findViewById(R.id.tixiantips_tv); if (isZhiFuBao) { tt_tipTv.setText(getResources().getString(R.string.wallet_zfb_tt_tips)); zfbLayout.setVisibility(View.VISIBLE); bankLayout.setVisibility(View.GONE); } else { tt_tipTv.setText(getResources().getString(R.string.wallet_bank_tt_tips)); zfbLayout.setVisibility(View.GONE); bankLayout.setVisibility(View.VISIBLE); } availibleMoneyTv = (TextView) findViewById(R.id.my_wallet_tixian_jine_tv); availibleMoneyTv.setText(userMoney); tiquMoneyEdt = (EditText) findViewById(R.id.my_wallet_tixian_money_edt); // 银行名称 bankNameRelayout = (RelativeLayout) findViewById(R.id.my_wallet_tixian_bank_name_relayout); bankNameRelayout.setOnClickListener(this); bankNameTipsTv = (TextView) findViewById(R.id.bank_tv);// 银行名称 bankIconImv = (ImageView) findViewById(R.id.my_wallet_tixian_bank_icon_imv);// 银行icon tipsChooseBankTv = (TextView) findViewById(R.id.my_wallet_tixian_input_bank_tv);// 请选择银行 bankNameTv = (TextView) findViewById(R.id.my_wallet_tixian_bank_name_tv);// 选择好了的银行名称 // 编辑框 zfbAccountEdt = (EditText) findViewById(R.id.my_wallet_tixian_zhifubao_edt); bankCardEdt = (EditText) findViewById(R.id.my_wallet_tixian_bank_card_edt); bankZhihangEdt = (EditText) findViewById(R.id.my_wallet_tixian_bank_zhihang_edt); nameTv = (TextView) findViewById(R.id.my_wallet_tixian_name_tv); nameTv.setText(name); // 支付宝帐号编辑框设置内容改变监听 zfbAccountEdt.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void afterTextChanged(Editable arg0) { if ("".equals(arg0.toString())) { zfbAccountDelImv.setVisibility(View.GONE); } else { zfbAccountDelImv.setVisibility(View.VISIBLE); } } }); // 银行名称编辑框设置内容改变监听 // 银行卡编辑框设置内容改变监听 bankCardEdt.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void afterTextChanged(Editable arg0) { if ("".equals(arg0.toString())) { bankCardDelImv.setVisibility(View.GONE); } else { bankCardDelImv.setVisibility(View.VISIBLE); } } }); // 开户支行编辑框设置内容改变监听 bankZhihangEdt.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void afterTextChanged(Editable arg0) { if ("".equals(arg0.toString())) { bankZhihangDelImv.setVisibility(View.GONE); } else { bankZhihangDelImv.setVisibility(View.VISIBLE); } } }); // 编辑框有内容出现删除icon zfbAccountDelImv = (ImageView) findViewById(R.id.my_wallet_tixian_zhifubao_del_imv); bankCardDelImv = (ImageView) findViewById(R.id.my_wallet_tixian_bank_card_del_imv); bankZhihangDelImv = (ImageView) findViewById(R.id.my_wallet_tixian_bank_zhihang_del_imv); zfbAccountDelImv.setOnClickListener(this); bankCardDelImv.setOnClickListener(this); bankZhihangDelImv.setOnClickListener(this); } private void initData() { } /** * 设置返回按钮 */ public void setBackButton() { TextView titiTv = (TextView) findViewById(R.id.title); if (isZhiFuBao) titiTv.setText("提现到支付宝"); else titiTv.setText("提现到银行卡"); LinearLayout back_lay = (LinearLayout) findViewById(R.id.left); back_lay.setVisibility(View.VISIBLE); back_lay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.my_wallet_tixian_zhifubao_del_imv: zfbAccountEdt.setText(""); break; case R.id.my_wallet_tixian_bank_card_del_imv: bankCardEdt.setText(""); break; case R.id.my_wallet_tixian_bank_zhihang_del_imv: bankZhihangEdt.setText(""); break; case R.id.my_wallet_tixian_submit_btn: // 提交时先判断 int type = 0; type = isZhiFuBao ? 1 : 2; if (check(type)) { CustomDialogTixian.Builder builder = new CustomDialogTixian.Builder( this, new CustomDialogTixian.Builder.CustomDialogListener() { @Override public void getEdtValue(String idcardValue) { if (idcardValue != null) { myIdcardValue = idcardValue; if (idcardValue.trim().length() != 6) { ToastUtil .showShortToast("请输入正确的身份证后6位"); idcardFlag = false; } else { idcardFlag = true; } } else { idcardFlag = false; ToastUtil.showShortToast("请输入正确的身份证后6位"); } } }); builder.setTitle("提现申请密码"); BigDecimal bg = new BigDecimal(tiquMoneyEdt.getText() .toString().trim()); String f2 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).toString(); builder.setMoney(f2 + "元"); if (isZhiFuBao) { builder.setAccountNum(zfbAccountEdt.getText().toString()); } else { builder.setAccountNum(bankCardEdt.getText().toString()); } builder.setPositiveButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int arg1) { dialog.dismiss(); } }); builder.setNegativeButton("提现", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int arg1) { if (idcardFlag) { dialog.dismiss(); submitMoney(); } } }); builder.create().show(); } break; case R.id.my_wallet_tixian_bank_name_relayout: Intent intent = new Intent(MyWalletTixianActivity.this, BankActivity.class); startActivityForResult(intent, 110); break; default: break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 110) { if (resultCode == RESULT_OK) { int bankCode = data.getExtras().getInt("bank", 0); if (bankCode >= 0) { bankNameTv .setText(ConstantForSaveList.nativeBankList[bankCode]); tipsChooseBankTv.setVisibility(View.GONE); bankNameTipsTv.setVisibility(View.INVISIBLE); bankIconImv.setImageDrawable(iconDrawables[bankCode]); bankIconImv.setVisibility(View.VISIBLE); } } } } /** * 提交提现申请 * */ private void submitMoney() { new Thread() { public void run() { if (!"".equals(user_id)) { try { List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("user_id", user_id)); // type 1 if (isZhiFuBao) { params.add(new BasicNameValuePair("type", "1")); params.add(new BasicNameValuePair("account_num", zfbAccountEdt.getText().toString().trim())); } else { params.add(new BasicNameValuePair("type", "2")); params.add(new BasicNameValuePair("bank", bankNameTv.getText().toString().trim())); params.add(new BasicNameValuePair("bank_branch", bankZhihangEdt.getText().toString().trim())); params.add(new BasicNameValuePair("account_num", bankCardEdt.getText().toString().trim())); } BigDecimal bg = new BigDecimal(tiquMoneyEdt.getText() .toString().trim()); String f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP) .toString(); params.add(new BasicNameValuePair("money", f1)); // params.add(new BasicNameValuePair("remark", "")); params.add(new BasicNameValuePair("account_name", nameTv.getText().toString().trim())); params.add(new BasicNameValuePair("push_token", thisToken)); params.add(new BasicNameValuePair("password", myIdcardValue)); String result = HttpsUtils.doHttpsPost(tiXianUrl, params);// 获取返回结果 // 解析json JSONObject js = new JSONObject(result); JSONObject jss = js.getJSONObject("ResponseStatus"); int status = jss.getInt("status"); String msg = jss.getString("msg");// 后端提示 if (status == 3) { // 密码错误 ToastUtil.showShortToast(msg); getToken(); } else if (status == 1) { // 提交成功 ToastUtil.showShortToast(msg); MyWalletTixianActivity.this.finish(); } else if (status == 9) { ToastUtil.showShortToast(msg); getToken(); } else { ToastUtil.showShortToast(getResources().getString( R.string.wallet_account_error)); getToken(); } } catch (Exception e) { e.printStackTrace(); ToastUtil.showShortToast(getResources().getString( R.string.wallet_net_error)); getToken(); } } } }.start(); } /** * getToken */ private void getToken() { new Thread() { public void run() { if (!"".equals(user_id)) { try { List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("user_id", user_id)); String result = HttpsUtils .doHttpsPost(tokenUrl, params);// 获取返回结果 JSONObject js = new JSONObject(result); thisToken = js.getString("push_token"); } catch (Exception e) { e.printStackTrace(); } } } }.start(); } protected void showWait(boolean isShow) { if (isShow) { if (null == dialog) { dialog = new WaitDialog(MyWalletTixianActivity.this); } dialog.show(); } else { if (null != dialog) { dialog.dismiss(); } } } }