diff --git a/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java b/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java index 535e3faa8..6979bcbb2 100644 --- a/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java +++ b/src_core/com/tenwa/comm/customerfilterlist/DebitCardAction.java @@ -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 Msg = new HashMap(); - String res=response.getBizContent(); - - Gson gson = new Gson(); - Map map = new HashMap(); - 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 map = new HashMap(); + 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 fourMsg = new HashMap(); + 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