申请流程银行卡验证
This commit is contained in:
parent
af53f459de
commit
dbe8f52a76
@ -18,7 +18,9 @@ import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.gnete.security.crypt.CryptException;
|
||||
import com.google.gson.Gson;
|
||||
import com.tenwa.collectaudit.cache.CollectAuditInfoCache;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.zhongan.scorpoin.biz.common.CommonRequest;
|
||||
import com.zhongan.scorpoin.biz.common.CommonResponse;
|
||||
@ -150,69 +152,39 @@ public String saveMobile(JBOTransaction tx) throws JBOException{
|
||||
}
|
||||
//校验银行卡四要素
|
||||
public String verifyFourelementBank(JBOTransaction tx) throws JBOException{
|
||||
//以下参数为:环境参数、接口版本号、appKey、开发者rsa私钥、接口名
|
||||
// String env = "iTest"; //测试
|
||||
String env = "prd"; //生产
|
||||
String version = "1.0.0";
|
||||
//String appkey = "230a15d4bc245d1fba6e5cce1f2b21ec"; //测试
|
||||
String appkey = "b373daf93000876cd5f3728bcc36f697"; //生产
|
||||
//测试私钥
|
||||
// String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDqll0OE25x8gr4E5sDOGWIItjssI/tXKrZwjKD5ZXlzbLgcXSf0u3MFjz9UKdkQlr4GpUtPvdrbet/bPxZ5PBLe91ZYohAOv3vSZLcElhr2JI0mEX+Xyy2RlTRmk27WZZLH02fvhJrh6a4PFQYagHfqVTBJQFo2uSUP2/TZeEUBCz+jPp+YVwGl/jDBNGP+UNRDOkYLpDFnmJGbVNl6kgqf7IzY9yaF8RGtlzWz7/NOfn/fRc+PQuhrWk19sxbPJsgONQtx8G2Ecd/RdVV3kxViEf8ETn6ypuB4dthgHhS+SWn3KJftY1g3BbgoiMrExn/HLtyHU2suyExB/FqoRmDAgMBAAECggEBALOcQM9ALXXsvl1GlY8XpRVgqPpADVLNerqTp525MNXscqLJ+2NLWmrCNBw3npJzA7emksU7yrBkTsUXqvchBKKmyclgWbXj9P07Ncht+2lHPloqpJyoPlGo89Qv8ogZhasq4oIGQ5A1In85IaI3uAuJWK0xKi0gO5cOIw6WmIh7WmSzc+IY++DGfgBhpQ1zgaFeFg10r9Ha2atYmhw+3p1xeJLnDqxpDT4cRms9L+WOh2e7UCAbRUAK6xugFiZf1bCDM5PvxGQJi0LmaBUKkF2kbTogCJtSolar71xhgBhdjx7zxBwfpr0OOTyMsDks+j98ZwL/80cGJ42Iu5IRTlECgYEA/8SW1IfSTVqj/UHUN+/y3N6ebf+VsByWpNnkEWMznRGAsGPy8cLwQdz2vysaEw7/mMm6vGjAuAxdKKzHSslncHVdQEBJhdXoBbHEIiPWxFwj3bfjGy6zmiMGiYU9d7qm7CUObjDmBlTjIIWCsLN3qbCy39FzrZsrTlj/0+stbc0CgYEA6szaumC73J0a1YWpLgguZz0JhLhxtZkWs3GbIzDw/5Uc+aU9lbbCUkQmgc6WfI66TvmF8yWrUVTtbHMhHCHwc3LN7MPqnZuAvzgOG5TzZGH50rVVHXGEBezHOoNFZdOLipOYoQ5/MIlR2vHnJkbt9XEFY9bpHw7+TlnKVief1I8CgYBWXJoVX1s6dV2kGUNANAxMWfsi50cy9SREu7IP0PBPm+ZZKRaSXaFki+jhOfuO7eSOQaeFENXqD3qxTk3oycLcrTR0ioCI6WZz7cdtQ660FOyjZAESX52TcTo22z+bGvJcEFMkD+zLvIQIqiwr4B2KtbhgbMfjmd5wkQqpEuL/DQKBgGjjMiJn7APVOpN/rd+eT/xWS9Y5/rG8vWNTsJW72yyRE+yBYE1s4smVIA6Elrz1lUyKMsg3X5xpb9YuZ/AFSUCJXGwT6M6XFKBXDhZMJ54EFnGGB4urlep/p1AALBQcuA0jed8YdsDb1vETdsqmjM5DusCq1GDHddrSSYzLDp8JAoGBAMtAONE3gvFpgRr/3tudOHZt1lywfHsePSXOnMFkSviJDTMXNWR0GQ7k8R1PHVdZRr8xIeONH5WKU9Vd7jmCKIvi2LdjdhePoGVwq875cLLALH3CkgWr0kcHB02M3xLK2oowmtrRCX18Jzo3Q6oKycq1NcljaPLQsObp9/ws2bkX";
|
||||
//生产私钥
|
||||
String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqObLkOTu/ENsmxNdLfIBXisAoA/WZPNGUT2b6Y+wn5ociJmg1nIt+a7jKE2vsZgpxjYzUzBxWd9jHTNkxZzQjYLZTYjAi6RoG55OsVfTIr+9DcVKRg6aZrgtNxtPXGwWrft6tTyN5ddwpzv8zj6+/F/MUoisPAI2bb6tGr3GyCPEUN4tZSK2JYi+BcjeLrEX7BbkvWaBBu9G+PUu2Athm6gkdRWMCbNVPOPSqNB8fnYzESo5/0RJd2ZRM8ssweqI5AfkAEg5PB8vAK7y3Thcz1XDK8DOzsk8XSSuP6YQE44VsalNCzplMPR9Cm11aN4T4vLsBL0Qrzp6da/SXT9FDAgMBAAECggEAWaF//IPWXci2XDeRVYH84huBCpDrJQDNKdaVVop+spPD28t1W6VOHgcCigSn8xXXserimLnQwgbg8jAYvNamsWofFtDAn+E1fyU4sKmh9noM9eoZm91CP/FQqmdi7ASie6aWAZOGDlJs1ubToYaq92fY6qhpG8EizxGBkfqXVzJZwK5QBs2WjsVh/gad/JdAW2SWG17WNErdoGX0dDkJook0yMM29lpXWJqg6JaJEwSM18rVCVPP+DEhxarRiAFa2nXACpxoaiO5Hk8S8LgUv9ct1nlYWkP4NRgTyhcaUUCyjPdmGwO/NBpx8ChoRdtXOeMLw6RNzD3JgdZ+QhYtoQKBgQDfvA1xJKVY+Tr/O98bBEAS8N2IM9K+gBaLUkjrGn69pjTlGTmPSpaXzINVu/aR5KOvf1LfPhCriBZzMw03j4BYl+BHaQIPjeJw4PpyycssI5CrUHY7CFHhguDSims/9w2scO+j18gq9LMxiL/l7R4KdG+jcrMrD9SMlPSQnDre1wKBgQDCxiqhmd/qRGUkjgjjeKK70YgOzE7f8+foxm9AkqHiOfcclSdHHBi6THrawoEyWzC0FDcQDZuJYDbYK7JslhDZOYEqv1tYaUeD/D4CgNn4vnUJ++v1f0c+9BrkLYCbaZhz9XDes3JAOq7jO08LbLd01wQj8MP1YJ3UbprwiyWvdQKBgQC3rt9mTYzGgE+0bkYcGyAzrLZj9RAHQIfBuDuPcYAuWX9Bu7Tq9HSwicIlqByl6I2OLr0t9PmgqiisSXSHcfQQSBhk6Ew90uHehIZ5qTx5r3U9gOCgVJNMzrOfhu7IZB9AvLOx0x1OTvmzKC9MKKEqOi/RhACe0O9Sv5QOCYW3nwKBgF3XzMJ/uPrOaUzrgizW+tEzazJ2DaqpgZsNwJyECatN8lm7I2mHiAJ6xtaP0F/Kv/SDqOP7Km1OBh6xLw5SX1vJ8Qn/mKtITkSxS8849cx7NzjQQCfQYytZwXse0VAP2HxGTVN/chSwMYMaGEOQ5fNNhZkrb77SBjlL8SrkYAvhAoGAcu0+1c1vorUwDbvTmka7hxWatI/2NwdnLKeYwcWZLwP+XCaSnD968OmuaVBjN5Sf7fE/+hc9F7wiIG2pTFDX2j/3kItyspb+f0avDoTkxbMJW7t5hm0sKtiQWyA8nSA8U2tQjlrj2VxSUv/34neExc5J8xOysHnGT7yXlLWUkXc=";
|
||||
String serviceName = "account.auth.cardOTP";
|
||||
|
||||
ZhongAnApiClient client = new ZhongAnApiClient(env, appkey, privateKey, version);
|
||||
// SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
// String curtime=df.format(System.currentTimeMillis());
|
||||
String curtime=String.valueOf(System.currentTimeMillis());
|
||||
CommonRequest request;
|
||||
try {
|
||||
request = new CommonRequest(serviceName);
|
||||
JSONObject params = new JSONObject();
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(CUSTOMER_ACCOUNT_TEMP.CLASS_NAME);
|
||||
BizObject bo = bm.createQuery("select cpt.fullname,O.mobile,O.acc_number,O.account,cpt.CERTID,cpt.CERTTYPE,O.customerid,cpt.flowunid from O,jbo.app.tenwa.customer.CUSTOMER_PERSON_TEMP cpt "
|
||||
+ "where O.customerid = cpt.customerid and O.acc_type= 'Debit' and cpt.flowunid=:flowunid")
|
||||
.setParameter("flowunid", this.getFlowUnid()).getSingleResult(false);
|
||||
if (bo != null) {
|
||||
//代收付签约、银行卡验证交易测试URL
|
||||
/*CollectAuditInfoCache cap = new CollectAuditInfoCache();*/
|
||||
//传入业务参数
|
||||
params.put("orderNo", curtime); //订单号
|
||||
params.put("authType", "FOUR_AUTH"); //鉴权类型(三要素/四要素)
|
||||
params.put("cardCategory", "JJ_CARD"); //卡类型
|
||||
params.put("cardNo", bo.getAttribute("acc_number").toString()); //卡号
|
||||
params.put("openName",bo.getAttribute("account").toString()); //开户名
|
||||
params.put("certiType", "SHENFENZHENG"); //开户证件类型(SHENFENZHENG 身份证)
|
||||
params.put("certiNo", bo.getAttribute("CERTID").toString()); //证件号
|
||||
params.put("preStayPhone", bo.getAttribute("mobile").toString()); //手机号
|
||||
params.put("remark", ""); //备注
|
||||
|
||||
|
||||
request.setParams(params);
|
||||
CommonResponse response = (CommonResponse) client.call(request);
|
||||
System.out.println(response);
|
||||
Map<String, String> Msg = new HashMap<String, String>();
|
||||
String res=response.getBizContent();
|
||||
|
||||
Gson gson = new Gson();
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
Msg = gson.fromJson(res, map.getClass());//关键
|
||||
|
||||
bm.createQuery("update O set VERIFY=:verify,VERIFY_STATUS=:verify_status where flowunid=:flowunid and acc_type='Debit'")
|
||||
.setParameter("verify", Msg.get("resultMsg"))
|
||||
.setParameter("verify_status", "true".equals(Msg.get("success")) ? "Y" : "N")
|
||||
.setParameter("flowunid", this.getFlowUnid()).executeUpdate();
|
||||
|
||||
BizObjectManager bm = JBOFactory.getFactory().getManager(CUSTOMER_ACCOUNT_TEMP.CLASS_NAME);
|
||||
String customerid = this.getCustIdByFlowunid(tx).split(",")[0].toString();
|
||||
BizObject bo = bm.createQuery("select cpt.fullname,O.mobile,O.acc_number,O.account,cpt.CERTID,cpt.CERTTYPE,O.customerid from O,jbo.app.tenwa.customer.CUSTOMER_PERSON_TEMP cpt "
|
||||
+ "where O.customerid = cpt.customerid and cpt.customerid=:customerid")
|
||||
.setParameter("customerid",customerid).getSingleResult(false);
|
||||
if (bo != null) {
|
||||
//代收付签约、银行卡验证交易测试URL
|
||||
CollectAuditInfoCache cap = new CollectAuditInfoCache();
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
map.put("ACCOUNT_NO", bo.getAttribute("acc_number").toString());//卡号
|
||||
map.put("ACCOUNT_NAME", bo.getAttribute("account").toString());//户名
|
||||
map.put("ID_TYPE", "0");//开户时的证件类型,0->身份证,默认身份证
|
||||
if (bo.getAttribute("CERTTYPE").toString().equals("Ind02")) {
|
||||
map.put("ID_TYPE", "2");// 2->护照
|
||||
}
|
||||
//map.put("ID_TYPE", "0");//开户时的证件类型,0->身份证
|
||||
map.put("ID", bo.getAttribute("CERTID").toString());//开户时的证件号码
|
||||
map.put("TEL", bo.getAttribute("mobile").toString());//开户时预留的11位手机号
|
||||
//四要素
|
||||
Map<String, String> fourMsg = new HashMap<String, String>();
|
||||
try {
|
||||
fourMsg = cap.vitfyCollectManage(map);
|
||||
bm.createQuery("update O set VERIFY=:verify,VERIFY_STATUS=:verify_status where customerid=:customerid")
|
||||
.setParameter("verify", fourMsg.get("ERR_MSG"))
|
||||
.setParameter("verify_status", "0000".equals(fourMsg.get("RET_CODE")) ? "Y" : "N")
|
||||
.setParameter("customerid", customerid).executeUpdate();
|
||||
} catch (CryptException e) {
|
||||
e.printStackTrace();
|
||||
return "ERROR";
|
||||
}
|
||||
|
||||
|
||||
} catch (ZhongAnOpenException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
return "ERROR";
|
||||
}
|
||||
return "SUCCESS";
|
||||
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
//代收付签约、银行卡验证交易测试URL
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user