258 lines
8.2 KiB
Java
258 lines
8.2 KiB
Java
package cn.shangyu.gdxzExpert.activity;
|
||
|
||
import android.content.Intent;
|
||
import android.text.TextUtils;
|
||
import android.view.View;
|
||
import android.view.View.OnFocusChangeListener;
|
||
import android.widget.Button;
|
||
import android.widget.EditText;
|
||
import android.widget.TextView;
|
||
import android.widget.Toast;
|
||
|
||
import com.gyf.immersionbar.ImmersionBar;
|
||
import com.lidroid.xutils.exception.HttpException;
|
||
import com.lidroid.xutils.http.RequestParams;
|
||
import com.lidroid.xutils.http.ResponseInfo;
|
||
import com.lidroid.xutils.http.callback.RequestCallBack;
|
||
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
|
||
|
||
import java.io.InputStream;
|
||
import java.util.HashMap;
|
||
|
||
import javax.xml.parsers.SAXParser;
|
||
import javax.xml.parsers.SAXParserFactory;
|
||
|
||
import cn.shangyu.gdxzExpert.R;
|
||
import cn.shangyu.gdxzExpert.base.BaseActivity;
|
||
import cn.shangyu.gdxzExpert.bean.BaseBean;
|
||
import cn.shangyu.gdxzExpert.http.HttpHelper;
|
||
import cn.shangyu.gdxzExpert.utils.Constant;
|
||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||
import cn.shangyu.gdxzExpert.utils.PlistHandler;
|
||
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||
import cn.shangyu.gdxzExpert.utils.Url;
|
||
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
|
||
|
||
/**
|
||
* AddBankCardActivity.java
|
||
*
|
||
* @author JX 记肖
|
||
* @date 2015-12-07 我的->常用银行卡->添加常用银行卡activity 功能说明:添加银行卡页面
|
||
*/
|
||
public class AddBankCardActivity extends BaseActivity {
|
||
private EditText bank_username;
|
||
private EditText bank_number;
|
||
private TextView bank_name;
|
||
private Button btsu;
|
||
private String banknumber;
|
||
private String bankname;
|
||
private String expertUuid;
|
||
private String usercardname;
|
||
private String result;
|
||
private int resultIcon;
|
||
private String nameforSelect;
|
||
private static String addBankCardUrl = Url.getaddBankCard;// 提交链接
|
||
|
||
@Override
|
||
public void setTitle() {
|
||
// TODO Auto-generated method stub
|
||
top_title.setText("添加银行卡");
|
||
}
|
||
|
||
@Override
|
||
public View onCreateSuccessedView() {
|
||
// TODO Auto-generated method stub
|
||
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
|
||
View view = UIUtils.inflate(R.layout.activity_add_bank_card);
|
||
bank_username = (EditText) view.findViewById(R.id.ed_name);// 银行卡持有人姓名
|
||
bank_username.setOnFocusChangeListener(onFocusAutoClearHintListener);
|
||
bank_number = (EditText) view.findViewById(R.id.ed_banknumber);// 银行卡号
|
||
bank_number.setOnFocusChangeListener(onFocusAutoClearHintListener);
|
||
bank_name = (TextView) view.findViewById(R.id.ed_select_bankname);// 发卡银行
|
||
btsu = (Button) view.findViewById(R.id.bt_seclet_sure);// 确定添加按钮
|
||
// ImageView icon = (ImageView)view.findViewById(R.id.item_img);
|
||
btsu.setOnClickListener(this);// 设置监听
|
||
bank_name.setOnClickListener(this);
|
||
expertUuid = SharePrefUtil.getString(ct, Constant.uuid, "");// 取出专家的uuid
|
||
return view;
|
||
}
|
||
|
||
@Override
|
||
public ResultState onLoad() {
|
||
// TODO Auto-generated method stub
|
||
return ResultState.STATE_SUCCESSED;
|
||
}
|
||
|
||
/**
|
||
* 设置输入框获得焦点hint提示消失
|
||
*/
|
||
public static OnFocusChangeListener onFocusAutoClearHintListener = new OnFocusChangeListener() {
|
||
|
||
@Override
|
||
public void onFocusChange(View v, boolean hasFocus) {
|
||
EditText textView = (EditText) v;
|
||
String hint;
|
||
if (hasFocus) {
|
||
hint = textView.getHint().toString();
|
||
textView.setTag(hint);
|
||
textView.setHint("");
|
||
} else {
|
||
hint = textView.getTag().toString();
|
||
textView.setHint(hint);
|
||
}
|
||
}
|
||
};
|
||
|
||
// 填写银行卡数据并提交
|
||
private void btsu() {
|
||
|
||
usercardname = bank_username.getText().toString().trim();// 获取输入的银行卡持有人姓名
|
||
banknumber = bank_number.getText().toString().trim();// 获取输入的银行卡号
|
||
bankname = bank_name.getText().toString().trim();// 获取输入的发卡银行
|
||
|
||
if (!UIUtils.isNetWorkConnected(this)) {
|
||
Toast.makeText(this, "网络暂时不可用", Toast.LENGTH_SHORT).show();
|
||
return;
|
||
}
|
||
|
||
if (TextUtils.isEmpty(bankname)) {
|
||
ToastUtil.showToast("请选择常用银行卡");
|
||
return;
|
||
}
|
||
if (TextUtils.isEmpty(banknumber)) {
|
||
ToastUtil.showToast("请输入银行卡号码");
|
||
return;
|
||
}
|
||
if (TextUtils.isEmpty(usercardname)) {
|
||
ToastUtil.showToast("请输入持卡人姓名");
|
||
return;
|
||
}
|
||
// if(banknumber.length() < 16 ){
|
||
// ToastUtil.showToast("请输入正确的银行卡号");
|
||
// return;
|
||
// }
|
||
try {
|
||
InputStream in;
|
||
in = getResources().getAssets().open("bankNameAndCard.plist");// 从资源读取银行卡卡号规则
|
||
SAXParserFactory factorys = SAXParserFactory.newInstance();
|
||
SAXParser saxparser = factorys.newSAXParser();
|
||
PlistHandler plistHandler = new PlistHandler();
|
||
saxparser.parse(in, plistHandler);
|
||
HashMap<String, String> hash = (HashMap<String, String>) plistHandler
|
||
.getMapResult();
|
||
for (int i = 0; i < hash.size(); i++) {
|
||
String bn = banknumber;
|
||
LogUtil.i("banknumber==========" + banknumber);
|
||
nameforSelect = hash.get(bn.substring(0, 6));
|
||
|
||
}
|
||
// if (!bankname.equals(nameforSelect))
|
||
if (!nameforSelect.contains(bankname)) {
|
||
Toast.makeText(this, "填写的银行卡号与所选银行不匹配", Toast.LENGTH_SHORT)
|
||
.show();
|
||
LogUtil.i("nameforSelect-=============" + nameforSelect);
|
||
return;
|
||
}
|
||
} catch (Exception e) {
|
||
// TODO Auto-generated catch block
|
||
e.printStackTrace();
|
||
}
|
||
showProgressDialog("提交中,请稍候...");
|
||
addBankCard(addBankCardUrl);
|
||
}
|
||
|
||
/**
|
||
* 提交数据 addBankCard
|
||
*
|
||
* @param url
|
||
* void
|
||
*/
|
||
private void addBankCard(String url) {
|
||
RequestParams params = new RequestParams();
|
||
params.addBodyParameter("ownerUuid", expertUuid);
|
||
// params.addBodyParameter("bankUuid", "");//银行UUID,备用
|
||
params.addBodyParameter("bankName", bankname);
|
||
params.addBodyParameter("cardNum", banknumber);
|
||
params.addBodyParameter("holderName", usercardname);
|
||
|
||
HttpHelper.loadData(HttpMethod.POST, url, params,
|
||
new RequestCallBack<String>() {
|
||
|
||
@Override
|
||
public void onSuccess(ResponseInfo<String> arg0) {
|
||
// TODO Auto-generated method stub
|
||
LogUtil.i("str=====" + arg0.result);
|
||
processData(arg0.result);
|
||
Intent intent = new Intent();
|
||
// 把返回数据存入Intent
|
||
intent.putExtra("resultIcon", resultIcon);
|
||
// 设置返回数据
|
||
setResult(RESULT_OK, intent);
|
||
}
|
||
|
||
@Override
|
||
public void onFailure(HttpException arg0, String arg1) {
|
||
// TODO Auto-generated method stub
|
||
closeProgressDialog();
|
||
ToastUtil.showToast("添加失败");
|
||
}
|
||
});
|
||
LogUtil.i("url====" + url + "ownerUuid====" + expertUuid
|
||
+ "bankName===" + bankname + "cardNum====" + banknumber
|
||
+ "holderName====" + usercardname);
|
||
}
|
||
|
||
/**
|
||
* 解析并处理数据
|
||
*
|
||
* @param result
|
||
*/
|
||
private void processData(String result) {
|
||
closeProgressDialog();
|
||
BaseBean bean = GsonTools.fromGsonToBean(result, BaseBean.class);
|
||
// 数据为空
|
||
if ("1".equals(bean.code)) {
|
||
ToastUtil.showToast("添加银行卡成功");
|
||
this.setResult(RESULT_OK);
|
||
finish();
|
||
} else {
|
||
ToastUtil.showMessage(bean.message);
|
||
}
|
||
}
|
||
|
||
@Override
|
||
protected void onResume() {
|
||
if (result != null && bank_name != null) {
|
||
bank_name.setText(result);
|
||
}
|
||
super.onResume();
|
||
}
|
||
|
||
@Override
|
||
protected void processClick(View v) {
|
||
// TODO Auto-generated method stub
|
||
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
|
||
int id = v.getId();
|
||
if (id == R.id.bt_seclet_sure) {// 提交数据
|
||
btsu();
|
||
} else if (id == R.id.ed_select_bankname) {// 选择银行卡
|
||
Intent intent = new Intent(ct, AddSecletBankCardActivity.class);
|
||
startActivityForResult(intent, 1);
|
||
}
|
||
}
|
||
|
||
@Override
|
||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||
if (data != null) {
|
||
result = data.getExtras().getString("result");
|
||
resultIcon = data.getExtras().getInt("result_icon");
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|