|
@@ -254,35 +254,46 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
}
|
|
|
request.put("card_info", cardInfo);
|
|
|
// 结算方式
|
|
|
+ Integer settType = tHuifuMchCheck.getSettType();
|
|
|
JSONObject settleConfig = new JSONObject();
|
|
|
+ JSONArray cashConfig = new JSONArray();
|
|
|
// 如果是修改接口
|
|
|
if (tHuifuMchCheck.getStatus().equals("4")) {
|
|
|
url = "https://api.huifu.com/v2/user/busi/modify";
|
|
|
-
|
|
|
-// settleConfig.put("settle_abstract", "棉花糖机营业收入");
|
|
|
- }
|
|
|
- Integer settType = tHuifuMchCheck.getSettType();
|
|
|
- settleConfig.put("settle_cycle", "T1");
|
|
|
- JSONArray cashConfig = new JSONArray();
|
|
|
- if (settType != null && settType == 2) {
|
|
|
- // 手动提现
|
|
|
- settleConfig.put("settle_status", "0");
|
|
|
- JSONObject cashConfigValue = new JSONObject();
|
|
|
- cashConfigValue.put("switch_state", "1");
|
|
|
- cashConfigValue.put("cash_type", "T1");
|
|
|
- cashConfigValue.put("fee_rate", "0.00");
|
|
|
- cashConfig.add(cashConfigValue);
|
|
|
- } else {
|
|
|
- // 自动结算
|
|
|
- settleConfig.put("settle_status", "1");
|
|
|
+ if (settType != null && settType == 2) {
|
|
|
+ // 手动提现
|
|
|
+ settleConfig.put("settle_status", "0");
|
|
|
+ settleConfig.put("settle_cycle", "T1");
|
|
|
+ JSONObject cashConfigValue = new JSONObject();
|
|
|
+ cashConfigValue.put("switch_state", "1");
|
|
|
+ cashConfigValue.put("cash_type", "T1");
|
|
|
+ cashConfigValue.put("fee_rate", "0.00");
|
|
|
+ cashConfig.add(cashConfigValue);
|
|
|
+ } else {
|
|
|
+ // 自动结算
|
|
|
+ settleConfig.put("settle_status", "1");
|
|
|
+ settleConfig.put("settle_cycle", "T1");
|
|
|
+ JSONObject cashConfigValue = new JSONObject();
|
|
|
+ cashConfigValue.put("switch_state", "0");
|
|
|
+ cashConfigValue.put("cash_type", "T1");
|
|
|
+ cashConfigValue.put("fee_rate", "0.00");
|
|
|
+ cashConfig.add(cashConfigValue);
|
|
|
+ }
|
|
|
+ request.put("settle_config", settleConfig);
|
|
|
+ request.put("cash_config", cashConfig.toString());
|
|
|
+ } else if (tHuifuMchCheck.getStatus().equals("1")) {
|
|
|
+ // 入驻接口
|
|
|
+ // 取现配置
|
|
|
JSONObject cashConfigValue = new JSONObject();
|
|
|
- cashConfigValue.put("switch_state", "0");
|
|
|
cashConfigValue.put("cash_type", "T1");
|
|
|
cashConfigValue.put("fee_rate", "0.00");
|
|
|
cashConfig.add(cashConfigValue);
|
|
|
+ request.put("cash_config", cashConfig.toString());
|
|
|
+ // 结算配置
|
|
|
+ settleConfig.put("settle_cycle", "T1");
|
|
|
+ request.put("settle_config", settleConfig);
|
|
|
+// settleConfig.put("settle_abstract", "棉花糖机营业收入");
|
|
|
}
|
|
|
- request.put("settle_config", settleConfig);
|
|
|
- request.put("cash_config", cashConfig.toString());
|
|
|
// 签名:sign
|
|
|
String s = JSON.toJSONString(request);
|
|
|
String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
|
|
@@ -351,550 +362,6 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 汇付个人商户入驻
|
|
|
- *
|
|
|
- * @param tHuifuMchCheck
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String addPersonage(THuifuMchCheck tHuifuMchCheck) throws Exception {
|
|
|
- // 请求接口
|
|
|
- String url = "https://api.huifu.com/v2/merchant/basicdata/indv";
|
|
|
- HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
|
|
|
- // 请求参数:Data
|
|
|
- JSONObject request = new JSONObject();
|
|
|
- // 请求流水号
|
|
|
- request.put("req_seq_id", HuifuUtils.initReqSeqId());
|
|
|
- // 请求日期
|
|
|
- request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
- // 上级主体ID
|
|
|
- request.put("upper_huifu_id", HuifuConstant.HUIFU_ID);
|
|
|
- // 商户名称
|
|
|
- request.put("reg_name", tHuifuMchCheck.getRegName());
|
|
|
- // 商户简称
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getShortName())) {
|
|
|
- request.put("short_name", tHuifuMchCheck.getShortName());
|
|
|
- }
|
|
|
- // 经营省
|
|
|
- request.put("prov_id", tHuifuMchCheck.getProvId());
|
|
|
- // 经营市
|
|
|
- request.put("area_id", tHuifuMchCheck.getAreaId());
|
|
|
- // 经营区
|
|
|
- request.put("district_id", tHuifuMchCheck.getDistrictId());
|
|
|
- // 经营详细地址
|
|
|
- request.put("detail_addr", tHuifuMchCheck.getDetailAddr());
|
|
|
- // 联系人姓名
|
|
|
- request.put("contact_name", tHuifuMchCheck.getRegName());
|
|
|
- // 联系人手机号
|
|
|
- request.put("contact_mobile_no", tHuifuMchCheck.getPhone());
|
|
|
- // 联系人电子邮箱
|
|
|
- request.put("contact_email", tHuifuMchCheck.getEmail());
|
|
|
- // 商户名
|
|
|
- request.put("sms_send_flag", "M");
|
|
|
- // 异步通知地址:审核结果消息接收地址
|
|
|
-// request.put("async_return_url", "异步通知地址");
|
|
|
- // 法人证件号码
|
|
|
- request.put("legal_cert_no", tHuifuMchCheck.getCertNo());
|
|
|
- // 结算卡正面
|
|
|
- request.put("settle_card_front_pic", tHuifuMchCheck.getCardFrontPic());
|
|
|
- // 法人身份证国徽面
|
|
|
- request.put("legal_cert_back_pic", tHuifuMchCheck.getLegalCertBackPic());
|
|
|
- // 法人身份证人像面
|
|
|
- request.put("legal_cert_front_pic", tHuifuMchCheck.getLegalCertFrontPic());
|
|
|
- // 结算卡信息配置
|
|
|
- JSONObject cardInfo = new JSONObject();
|
|
|
- // 卡户名
|
|
|
- cardInfo.put("card_name", tHuifuMchCheck.getCardName());
|
|
|
- // 结算账号
|
|
|
- cardInfo.put("card_no", tHuifuMchCheck.getCardNo());
|
|
|
- // 银行所在省
|
|
|
- cardInfo.put("prov_id", tHuifuMchCheck.getCardProvId());
|
|
|
- // 银行所在市
|
|
|
- cardInfo.put("area_id", tHuifuMchCheck.getCardAreaId());
|
|
|
- // 持卡人证件类型
|
|
|
- cardInfo.put("cert_type", "00");
|
|
|
- // 持卡人证件号码
|
|
|
- cardInfo.put("cert_no", tHuifuMchCheck.getCertNo());
|
|
|
- // 持卡人证件有效期类型,1:长期有效,0:非长期有效;
|
|
|
- cardInfo.put("cert_validity_type", tHuifuMchCheck.getCertValidityType());
|
|
|
- // 持卡人证件有效期开始
|
|
|
- cardInfo.put("cert_begin_date", tHuifuMchCheck.getCertBeginDate());
|
|
|
- // 持卡人证件有效期截止日期
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getCertEndDate())) {
|
|
|
- cardInfo.put("cert_end_date", tHuifuMchCheck.getCertEndDate());
|
|
|
- }
|
|
|
- // 结算人手机号
|
|
|
- cardInfo.put("mp", tHuifuMchCheck.getMp());
|
|
|
- request.put("card_info", cardInfo);
|
|
|
- // 结算规则配置
|
|
|
- JSONObject settleConfig = new JSONObject();
|
|
|
- // 结算周期
|
|
|
- settleConfig.put("settle_cycle", "T1");
|
|
|
- request.put("settle_config", settleConfig);
|
|
|
-
|
|
|
- // 签名:sign
|
|
|
- String s = JSON.toJSONString(request);
|
|
|
- String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
|
|
|
- String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
|
|
|
-
|
|
|
- // 公共参数
|
|
|
- System.out.println("请求参数:" + request);
|
|
|
- JSONObject requestData = new JSONObject();
|
|
|
- requestData.put("sys_id", HuifuConstant.SYS_ID);
|
|
|
- requestData.put("product_id", HuifuConstant.PRODUCT_ID);
|
|
|
- requestData.put("sign", sign);
|
|
|
- requestData.put("data", request);
|
|
|
-
|
|
|
- String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
|
|
|
- System.out.println("返回的数据:" + result);
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
- JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
- String code = dataObject.getString("resp_code");
|
|
|
- if (code.equals("90000000")) {
|
|
|
- THuifuMch tHuifuMch = new THuifuMch();
|
|
|
- BeanUtil.copyProperties(tHuifuMchCheck, tHuifuMch);
|
|
|
- String huifuId = dataObject.getString("huifu_id");
|
|
|
- // 判断持卡人证件有效期类型,1:长期有效,0:非长期有效
|
|
|
- if (tHuifuMchCheck.getCertValidityType().equals("0")) {
|
|
|
- LocalDate date = LocalDate.parse(tHuifuMchCheck.getCertEndDate(), DateTimeFormatter.ofPattern("yyyyMMdd"));
|
|
|
- String certEndDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
- tHuifuMch.setCertDate(certEndDate);
|
|
|
- } else {
|
|
|
- tHuifuMch.setCertDate("长期");
|
|
|
- }
|
|
|
- tHuifuMch.setCreateDate(new Date());
|
|
|
- tHuifuMch.setModifyDate(new Date());
|
|
|
- tHuifuMch.setHuifuId(huifuId);
|
|
|
- tHuifuMchCheck.setModifyDate(new Date());
|
|
|
- tHuifuMchCheck.setStatus("2");
|
|
|
- tHuifuMchCheck.setHuifuId(huifuId);
|
|
|
- tHuifuMchService.save(tHuifuMch);
|
|
|
- tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
- return "success";
|
|
|
- } else {
|
|
|
- String respDesc = dataObject.getString("resp_desc");
|
|
|
- tHuifuMchCheck.setModifyDate(new Date());
|
|
|
- tHuifuMchCheck.setStatus("3");
|
|
|
- tHuifuMchCheck.setAuditDesc(respDesc);
|
|
|
- tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
- return respDesc;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 汇付企业商户入驻
|
|
|
- *
|
|
|
- * @param tHuifuMchCheck
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String addEnterprise(THuifuMchCheck tHuifuMchCheck) throws Exception {
|
|
|
- // 请求接口
|
|
|
- String url = "https://api.huifu.com/v2/merchant/basicdata/ent";
|
|
|
- HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
|
|
|
- // 请求参数:Data
|
|
|
- JSONObject request = new JSONObject();
|
|
|
- // 请求流水号
|
|
|
- request.put("req_seq_id", HuifuUtils.initReqSeqId());
|
|
|
- // 请求日期
|
|
|
- request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
- // 上级主体ID
|
|
|
- request.put("upper_huifu_id", HuifuConstant.HUIFU_ID);
|
|
|
- // 商户名称
|
|
|
- request.put("reg_name", tHuifuMchCheck.getRegName());
|
|
|
- // 商户简称
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getShortName())) {
|
|
|
- request.put("short_name", tHuifuMchCheck.getShortName());
|
|
|
- }
|
|
|
- // 公司类型
|
|
|
- request.put("ent_type", "3");
|
|
|
- // 营业执照编号
|
|
|
- request.put("license_code", tHuifuMchCheck.getLicenseCode());
|
|
|
- // 营业执照有效期类型,0:非长期有效 ,1:长期有效
|
|
|
- request.put("license_validity_type", tHuifuMchCheck.getLicenseValidityType());
|
|
|
- // 营业执照有效期开始日期
|
|
|
- request.put("license_begin_date", tHuifuMchCheck.getLicenseBeginDate());
|
|
|
- // 营业执照有效期截止日期
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getLicenseEndDate())) {
|
|
|
- request.put("license_end_date", tHuifuMchCheck.getLicenseEndDate());
|
|
|
- }
|
|
|
- // 注册省
|
|
|
- request.put("reg_prov_id", tHuifuMchCheck.getRegProvId());
|
|
|
- // 注册市
|
|
|
- request.put("reg_area_id", tHuifuMchCheck.getRegAreaId());
|
|
|
- // 注册区
|
|
|
- request.put("reg_district_id", tHuifuMchCheck.getRegDistrictId());
|
|
|
- // 注册详细地址
|
|
|
- request.put("reg_detail", tHuifuMchCheck.getRegDetail());
|
|
|
- // 法人姓名
|
|
|
- request.put("legal_name", tHuifuMchCheck.getName());
|
|
|
- // 法人证件类型
|
|
|
- request.put("legal_cert_type", "00");
|
|
|
- // 法人证件号码
|
|
|
- request.put("legal_cert_no", tHuifuMchCheck.getCertNo());
|
|
|
- // 法人证件有效期类型,1:长期有效;0:非长期有效 ;
|
|
|
- request.put("legal_cert_validity_type", tHuifuMchCheck.getCertValidityType());
|
|
|
- // 法人证件有效期开始日期
|
|
|
- request.put("legal_cert_begin_date", tHuifuMchCheck.getCertBeginDate());
|
|
|
- // 法人证件有效期截止日期
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getCertEndDate())) {
|
|
|
- request.put("legal_cert_end_date", tHuifuMchCheck.getCertEndDate());
|
|
|
- }
|
|
|
- // 经营省
|
|
|
- request.put("prov_id", tHuifuMchCheck.getProvId());
|
|
|
- // 经营市
|
|
|
- request.put("area_id", tHuifuMchCheck.getAreaId());
|
|
|
- // 经营区
|
|
|
- request.put("district_id", tHuifuMchCheck.getDistrictId());
|
|
|
- // 经营详细地址
|
|
|
- request.put("detail_addr", tHuifuMchCheck.getDetailAddr());
|
|
|
- // 联系人姓名
|
|
|
- request.put("contact_name", tHuifuMchCheck.getRegName());
|
|
|
- // 联系人手机号
|
|
|
- request.put("contact_mobile_no", tHuifuMchCheck.getPhone());
|
|
|
- // 联系人电子邮箱
|
|
|
- request.put("contact_email", tHuifuMchCheck.getEmail());
|
|
|
- // 客服电话
|
|
|
- request.put("service_phone", tHuifuMchCheck.getServicePhone());
|
|
|
- // 经营类型,1:实体,2:虚拟 ;
|
|
|
- request.put("busi_type", "1");
|
|
|
- // 小票名称
|
|
|
- request.put("receipt_name", tHuifuMchCheck.getRegName());
|
|
|
- // 所属行业
|
|
|
- request.put("mcc", "6071");
|
|
|
- // 基本存款账户编号或核准号
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getOpenLicenceNo())) {
|
|
|
- request.put("open_licence_no", tHuifuMchCheck.getOpenLicenceNo());
|
|
|
- }
|
|
|
- // 开户许可证
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getRegAcctPic())) {
|
|
|
- request.put("reg_acct_pic", tHuifuMchCheck.getRegAcctPic());
|
|
|
- }
|
|
|
- if (tHuifuMchCheck.getCardType().equals("1")) {
|
|
|
- // 结算卡正面
|
|
|
- request.put("settle_card_front_pic", tHuifuMchCheck.getCardFrontPic());
|
|
|
- // 法人身份证人像面
|
|
|
- request.put("settle_cert_back_pic", tHuifuMchCheck.getCertBackPic());
|
|
|
- // 法人身份证国徽面
|
|
|
- request.put("settle_cert_front_pic", tHuifuMchCheck.getCertFrontPic());
|
|
|
- } else {
|
|
|
- // 法人身份证人像面
|
|
|
- request.put("legal_cert_back_pic", tHuifuMchCheck.getLegalCertBackPic());
|
|
|
- // 法人身份证国徽面
|
|
|
- request.put("legal_cert_front_pic", tHuifuMchCheck.getLegalCertFrontPic());
|
|
|
- }
|
|
|
- // 营业执照图片
|
|
|
- request.put("license_pic", tHuifuMchCheck.getLicensePic());
|
|
|
- // 成立时间
|
|
|
- request.put("found_date", tHuifuMchCheck.getFoundDate());
|
|
|
- // 法人手机号
|
|
|
- request.put("legal_mobile_no", tHuifuMchCheck.getPhone());
|
|
|
- // 法人身份证地址
|
|
|
- request.put("legal_addr", tHuifuMchCheck.getCertAddress());
|
|
|
- // 结算卡信息配置
|
|
|
- JSONObject cardInfo = new JSONObject();
|
|
|
- // 结算账户类型
|
|
|
- cardInfo.put("card_type", tHuifuMchCheck.getCardType());
|
|
|
- // 卡户名
|
|
|
- cardInfo.put("card_name", tHuifuMchCheck.getCardName());
|
|
|
- // 结算账号
|
|
|
- cardInfo.put("card_no", tHuifuMchCheck.getCardNo());
|
|
|
- // 银行所在省
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getCardProvId())) {
|
|
|
- cardInfo.put("prov_id", tHuifuMchCheck.getCardProvId());
|
|
|
- }
|
|
|
- // 银行所在市
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getCardAreaId())) {
|
|
|
- cardInfo.put("area_id", tHuifuMchCheck.getCardAreaId());
|
|
|
- }
|
|
|
- // 联行号
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getBranchCode())) {
|
|
|
- cardInfo.put("branch_code", tHuifuMchCheck.getBranchCode());
|
|
|
- }
|
|
|
- if (StrUtil.isNotEmpty(tHuifuMchCheck.getMp())) {
|
|
|
- cardInfo.put("mp", tHuifuMchCheck.getMp());
|
|
|
- }
|
|
|
- request.put("card_info", cardInfo);
|
|
|
- // 结算方式
|
|
|
- JSONObject settleConfig = new JSONObject();
|
|
|
- Integer settType = tHuifuMchCheck.getSettType();
|
|
|
- JSONArray cashConfig = new JSONArray();
|
|
|
- if (settType != null && settType == 2) {
|
|
|
- // 手动提现
|
|
|
- settleConfig.put("settle_status", "0");
|
|
|
- JSONObject cashConfigValue = new JSONObject();
|
|
|
- cashConfigValue.put("switch_state", "1");
|
|
|
- cashConfigValue.put("cash_type", "T1");
|
|
|
- cashConfigValue.put("fee_rate", "0.00");
|
|
|
- cashConfig.add(cashConfigValue);
|
|
|
- } else {
|
|
|
- // 自动结算
|
|
|
- settleConfig.put("settle_status", "1");
|
|
|
- JSONObject cashConfigValue = new JSONObject();
|
|
|
- cashConfigValue.put("switch_state", "0");
|
|
|
- cashConfigValue.put("cash_type", "T1");
|
|
|
- cashConfigValue.put("fee_rate", "0.00");
|
|
|
- cashConfig.add(cashConfigValue);
|
|
|
- }
|
|
|
- request.put("settle_config", settleConfig);
|
|
|
- request.put("cash_config", cashConfig.toString());
|
|
|
- // 签名:sign
|
|
|
- String s = JSON.toJSONString(request);
|
|
|
- String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
|
|
|
- String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
|
|
|
-
|
|
|
- // 公共参数
|
|
|
- System.out.println("请求参数:" + request);
|
|
|
- JSONObject requestData = new JSONObject();
|
|
|
- requestData.put("sys_id", HuifuConstant.SYS_ID);
|
|
|
- requestData.put("product_id", HuifuConstant.PRODUCT_ID);
|
|
|
- requestData.put("sign", sign);
|
|
|
- requestData.put("data", request);
|
|
|
- System.out.println("请求体:" + requestData);
|
|
|
-
|
|
|
- String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
|
|
|
- System.out.println("返回的数据:" + result);
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
- JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
- String code = dataObject.getString("resp_code");
|
|
|
- if (code.equals("90000000")) {
|
|
|
- THuifuMch tHuifuMch = new THuifuMch();
|
|
|
- BeanUtil.copyProperties(tHuifuMchCheck, tHuifuMch);
|
|
|
- String huifuId = dataObject.getString("huifu_id");
|
|
|
- // 判断持卡人证件有效期类型,1:长期有效,0:非长期有效
|
|
|
- if (tHuifuMchCheck.getCertValidityType().equals("0")) {
|
|
|
- LocalDate date = LocalDate.parse(tHuifuMchCheck.getCertEndDate(), DateTimeFormatter.ofPattern("yyyyMMdd"));
|
|
|
- String certEndDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
- tHuifuMch.setCertDate(certEndDate);
|
|
|
- } else {
|
|
|
- tHuifuMch.setCertDate("长期");
|
|
|
- }
|
|
|
- String tokenNo = dataObject.getString("token_no");
|
|
|
- if (StringUtils.isNotEmpty(tokenNo)) {
|
|
|
- tHuifuMch.setTokenNo(tokenNo);
|
|
|
- }
|
|
|
- tHuifuMch.setCreateDate(new Date());
|
|
|
- tHuifuMch.setModifyDate(new Date());
|
|
|
- tHuifuMch.setHuifuId(huifuId);
|
|
|
- tHuifuMchCheck.setModifyDate(new Date());
|
|
|
- tHuifuMchCheck.setStatus("2");
|
|
|
- tHuifuMchCheck.setHuifuId(huifuId);
|
|
|
- tHuifuMchService.save(tHuifuMch);
|
|
|
- tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
- return "success";
|
|
|
- } else {
|
|
|
- String respDesc = dataObject.getString("resp_desc");
|
|
|
- tHuifuMchCheck.setModifyDate(new Date());
|
|
|
- tHuifuMchCheck.setStatus("3");
|
|
|
- tHuifuMchCheck.setAuditDesc(respDesc);
|
|
|
- tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
- return respDesc;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 汇付商户基本信息修改
|
|
|
- *
|
|
|
- * @param huifuMchCheck
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String updateMerchant(THuifuMchCheck huifuMchCheck) throws Exception {
|
|
|
- // 请求接口
|
|
|
- String url = "https://api.huifu.com/v2/merchant/basicdata/modify";
|
|
|
- // 请求参数:Data
|
|
|
- JSONObject request = new JSONObject();
|
|
|
- // 请求流水号
|
|
|
- request.put("req_seq_id", HuifuUtils.initReqSeqId());
|
|
|
- // 请求日期
|
|
|
- request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
- // 上级主体ID
|
|
|
- request.put("upper_huifu_id", HuifuConstant.HUIFU_ID);
|
|
|
- // 汇付客户Id
|
|
|
- request.put("huifu_id", huifuMchCheck.getHuifuId());
|
|
|
- // 商户名称
|
|
|
- request.put("reg_name", huifuMchCheck.getRegName());
|
|
|
- // 商户简称
|
|
|
- if (StrUtil.isNotEmpty(huifuMchCheck.getShortName())) {
|
|
|
- request.put("short_name", huifuMchCheck.getShortName());
|
|
|
- }
|
|
|
- // 经营省
|
|
|
- request.put("prov_id", huifuMchCheck.getProvId());
|
|
|
- // 经营市
|
|
|
- request.put("area_id", huifuMchCheck.getAreaId());
|
|
|
- // 经营区
|
|
|
- request.put("district_id", huifuMchCheck.getDistrictId());
|
|
|
- // 经营详细地址
|
|
|
- request.put("detail_addr", huifuMchCheck.getDetailAddr());
|
|
|
- // 联系人姓名
|
|
|
- request.put("contact_name", huifuMchCheck.getRegName());
|
|
|
- // 联系人手机号
|
|
|
- request.put("contact_mobile_no", huifuMchCheck.getPhone());
|
|
|
- // 联系人电子邮箱
|
|
|
- request.put("contact_email", huifuMchCheck.getEmail());
|
|
|
- // 取现信息配置
|
|
|
- JSONObject cardInfo = new JSONObject();
|
|
|
- cardInfo.put("card_type", huifuMchCheck.getCardType());
|
|
|
- cardInfo.put("card_name", huifuMchCheck.getCardName());
|
|
|
- cardInfo.put("card_no", huifuMchCheck.getCardNo());
|
|
|
- if (StrUtil.isNotEmpty(huifuMchCheck.getCardProvId())) {
|
|
|
- cardInfo.put("prov_id", huifuMchCheck.getCardProvId());
|
|
|
- }
|
|
|
- if (StrUtil.isNotEmpty(huifuMchCheck.getCardAreaId())) {
|
|
|
- cardInfo.put("area_id", huifuMchCheck.getCardAreaId());
|
|
|
- }
|
|
|
- cardInfo.put("cert_type", "00");
|
|
|
- cardInfo.put("cert_no", huifuMchCheck.getCertNo());
|
|
|
- cardInfo.put("cert_validity_type", huifuMchCheck.getCertValidityType());
|
|
|
- cardInfo.put("cert_begin_date", huifuMchCheck.getCertBeginDate());
|
|
|
- cardInfo.put("cert_end_date", huifuMchCheck.getCertEndDate());
|
|
|
- if (StrUtil.isNotEmpty(huifuMchCheck.getMp())) {
|
|
|
- cardInfo.put("mp", huifuMchCheck.getMp());
|
|
|
- }
|
|
|
- cardInfo.put("settle_card_front_pic", huifuMchCheck.getCardFrontPic());
|
|
|
- cardInfo.put("settle_cert_front_pic", huifuMchCheck.getCertFrontPic());
|
|
|
- cardInfo.put("settle_cert_back_pic", huifuMchCheck.getCertBackPic());
|
|
|
- cardInfo.put("legal_cert_front_pic", huifuMchCheck.getLegalCertFrontPic());
|
|
|
- cardInfo.put("legal_cert_back_pic", huifuMchCheck.getLegalCertBackPic());
|
|
|
- if (StrUtil.isNotEmpty(huifuMchCheck.getSms())) {
|
|
|
- cardInfo.put("verify_code", huifuMchCheck.getSms());
|
|
|
- }
|
|
|
- request.put("card_info", cardInfo);
|
|
|
- JSONObject settleConfig = new JSONObject();
|
|
|
- Integer settType = huifuMchCheck.getSettType();
|
|
|
- JSONArray cashConfig = new JSONArray();
|
|
|
- if (settType != null && settType == 2) {
|
|
|
- // 手动提现
|
|
|
- settleConfig.put("settle_status", "0");
|
|
|
- JSONObject cashConfigValue = new JSONObject();
|
|
|
- cashConfigValue.put("switch_state", "1");
|
|
|
- cashConfigValue.put("cash_type", "T1");
|
|
|
- cashConfigValue.put("fee_rate", "0.00");
|
|
|
- cashConfig.add(cashConfigValue);
|
|
|
- } else {
|
|
|
- // 自动结算
|
|
|
- settleConfig.put("settle_status", "1");
|
|
|
- JSONObject cashConfigValue = new JSONObject();
|
|
|
- cashConfigValue.put("switch_state", "0");
|
|
|
- cashConfigValue.put("cash_type", "T1");
|
|
|
- cashConfigValue.put("fee_rate", "0.00");
|
|
|
- cashConfig.add(cashConfigValue);
|
|
|
- }
|
|
|
- request.put("settle_config", settleConfig);
|
|
|
- request.put("cash_config", cashConfig.toString());
|
|
|
- // 签名:sign
|
|
|
- String s = JSON.toJSONString(request);
|
|
|
- String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
|
|
|
- String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
|
|
|
-
|
|
|
- JSONObject requestData = new JSONObject();
|
|
|
- requestData.put("sys_id", HuifuConstant.SYS_ID);
|
|
|
- requestData.put("product_id", HuifuConstant.PRODUCT_ID);
|
|
|
- requestData.put("sign", sign);
|
|
|
- requestData.put("data", request);
|
|
|
- System.out.println("请求体:" + requestData);
|
|
|
-
|
|
|
- String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
|
|
|
- System.out.println("返回的数据:" + result);
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
- JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
- String code = dataObject.getString("resp_code");
|
|
|
- if (code.equals("90000000")) {
|
|
|
- LambdaQueryWrapper<THuifuMch> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(THuifuMch::getAdminId, huifuMchCheck.getAdminId());
|
|
|
- THuifuMch tHuifuMch = tHuifuMchService.getOne(queryWrapper);
|
|
|
- // 排除掉不复制的属性
|
|
|
- String[] ignoreProperties = {"id", "createDate", "adminId", "huifuId"};
|
|
|
- BeanUtil.copyProperties(huifuMchCheck, tHuifuMch, ignoreProperties);
|
|
|
- // 判断持卡人证件有效期类型,1:长期有效,0:非长期有效
|
|
|
- if (huifuMchCheck.getCertValidityType().equals("0")) {
|
|
|
- LocalDate date = LocalDate.parse(huifuMchCheck.getCertEndDate(), DateTimeFormatter.ofPattern("yyyyMMdd"));
|
|
|
- String certEndDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
- tHuifuMch.setCertDate(certEndDate);
|
|
|
- } else {
|
|
|
- tHuifuMch.setCertDate("长期");
|
|
|
- }
|
|
|
- String tokenNo = dataObject.getString("token_no");
|
|
|
- if (StringUtils.isNotEmpty(tokenNo)) {
|
|
|
- tHuifuMch.setTokenNo(tokenNo);
|
|
|
- }
|
|
|
- tHuifuMch.setModifyDate(new Date());
|
|
|
- huifuMchCheck.setStatus("2");
|
|
|
- huifuMchCheck.setSms(null);
|
|
|
- huifuMchCheck.setModifyDate(new Date());
|
|
|
- tHuifuMchService.updateById(tHuifuMch);
|
|
|
- tHuifuMchCheckService.updateById(huifuMchCheck);
|
|
|
- return "success";
|
|
|
- } else {
|
|
|
- String respDesc = dataObject.getString("resp_desc");
|
|
|
- huifuMchCheck.setStatus("3");
|
|
|
- huifuMchCheck.setSms(null);
|
|
|
- huifuMchCheck.setAuditDesc(respDesc);
|
|
|
- huifuMchCheck.setModifyDate(new Date());
|
|
|
- tHuifuMchCheckService.updateById(huifuMchCheck);
|
|
|
- return respDesc;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 汇付上传图片
|
|
|
- *
|
|
|
- * @param file
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String uploadPic(MultipartFile file, HuifuConstant.fileType fileType) {
|
|
|
- String url = "https://api.huifu.com/v2/supplementary/picture";
|
|
|
- // 请求参数
|
|
|
- Map<String, Object> params = new HashMap<String, Object>();
|
|
|
- // 请求流水号,需保证当天商户下唯一,推荐采用日期时间+几位流水号的形式
|
|
|
- params.put("req_seq_id", SequenceTools.getReqSeqId32());
|
|
|
- params.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
- params.put("file_type", fileType);
|
|
|
- params.put("picture", fileType.toValue());
|
|
|
- String data = JSON.toJSONString(params);
|
|
|
-
|
|
|
-
|
|
|
- CloseableHttpClient httpclient1 = HttpClients.createDefault();
|
|
|
- CloseableHttpResponse response = null;
|
|
|
- String result = null;
|
|
|
-
|
|
|
- try {
|
|
|
- // 获取原始文件名
|
|
|
- String fileName = file.getOriginalFilename();
|
|
|
- // 取得文件扩展名
|
|
|
- String extension = fileName.substring(fileName.lastIndexOf("."));
|
|
|
- // 创建临时文件
|
|
|
- File tempFile = File.createTempFile("temp", extension);
|
|
|
- file.transferTo(tempFile);
|
|
|
-
|
|
|
- HttpPost httpPost = new HttpPost(url);
|
|
|
- ContentType contentType = ContentType.create("text/plain", Charset.forName("UTF-8"));
|
|
|
- MultipartEntityBuilder mEntityBuilder = MultipartEntityBuilder.create();
|
|
|
- mEntityBuilder.addTextBody("sys_id", HuifuConstant.SYS_ID, contentType);
|
|
|
- mEntityBuilder.addTextBody("product_id", HuifuConstant.PRODUCT_ID, contentType);
|
|
|
- mEntityBuilder.addTextBody("data", data, contentType);
|
|
|
- mEntityBuilder.addBinaryBody("file", tempFile);
|
|
|
-
|
|
|
- httpPost.setEntity(mEntityBuilder.build());
|
|
|
- response = httpclient1.execute(httpPost);
|
|
|
- int statusCode = response.getStatusLine().getStatusCode();
|
|
|
- if (statusCode == HttpStatus.SC_OK) {
|
|
|
- HttpEntity resEntity = response.getEntity();
|
|
|
- result = EntityUtils.toString(resEntity);
|
|
|
- System.out.print(result);
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
- JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
- result = dataObject.getString("file_id");
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return result;
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public String refund(String sn, BigDecimal price, String payDate, String remark, String acctSplitBunch, String companyType) throws Exception {
|
|
@@ -945,103 +412,6 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 汇付发送验证码
|
|
|
- *
|
|
|
- * @param tHuifuMch
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String sendSms(THuifuMch tHuifuMch) throws Exception {
|
|
|
- String url = "https://api.huifu.com/v2/merchant/basicdata/sms/send";
|
|
|
- HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
|
|
|
- JSONObject request = new JSONObject();
|
|
|
- request.put("req_seq_id", HuifuUtils.initReqSeqId());
|
|
|
- request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
- request.put("huifu_id", tHuifuMch.getHuifuId());
|
|
|
- request.put("phone", tHuifuMch.getPhone());
|
|
|
- request.put("verify_type", "settleBankChange");
|
|
|
-
|
|
|
-
|
|
|
- // 签名:sign
|
|
|
- String s = JSON.toJSONString(request);
|
|
|
- String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
|
|
|
- String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
|
|
|
-
|
|
|
- // 公共参数
|
|
|
- System.out.println("请求参数:" + request);
|
|
|
- JSONObject requestData = new JSONObject();
|
|
|
- requestData.put("sys_id", HuifuConstant.SYS_ID);
|
|
|
- requestData.put("product_id", HuifuConstant.PRODUCT_ID);
|
|
|
- requestData.put("sign", sign);
|
|
|
- requestData.put("data", request);
|
|
|
- System.out.println("请求体:" + requestData);
|
|
|
-
|
|
|
- String success = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
|
|
|
- System.out.println("返回的数据:" + success);
|
|
|
- // 拿到返回参数
|
|
|
- JSONObject result = JSONObject.parseObject(success);
|
|
|
- log.info("汇付返回参数:{}", result);
|
|
|
- JSONObject data = result.getJSONObject("data");
|
|
|
- String respCode = data.getString("resp_code");
|
|
|
- return respCode;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 汇付上传图片
|
|
|
- *
|
|
|
- * @param base64Str
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String newUploadPic(String base64Str, HuifuConstant.fileType fileType, String huifuId) {
|
|
|
- String url = "https://api.huifu.com/v2/supplementary/picture";
|
|
|
- // 请求参数
|
|
|
- Map<String, Object> params = new HashMap<String, Object>();
|
|
|
- // 请求流水号,需保证当天商户下唯一,推荐采用日期时间+几位流水号的形式
|
|
|
- params.put("req_seq_id", SequenceTools.getReqSeqId32());
|
|
|
- params.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
- params.put("file_type", fileType);
|
|
|
- if (StringUtils.isNotEmpty(huifuId)) {
|
|
|
- params.put("huifu_id", huifuId);
|
|
|
- }
|
|
|
- String data = JSON.toJSONString(params);
|
|
|
-
|
|
|
-
|
|
|
- CloseableHttpClient httpclient1 = HttpClients.createDefault();
|
|
|
- CloseableHttpResponse response = null;
|
|
|
- String result = null;
|
|
|
- File tempFile = new File("");
|
|
|
- try {
|
|
|
- tempFile = base64ToTempImage(base64Str);
|
|
|
-
|
|
|
- HttpPost httpPost = new HttpPost(url);
|
|
|
- ContentType contentType = ContentType.create("text/plain", Charset.forName("UTF-8"));
|
|
|
- MultipartEntityBuilder mEntityBuilder = MultipartEntityBuilder.create();
|
|
|
- mEntityBuilder.addTextBody("sys_id", HuifuConstant.SYS_ID, contentType);
|
|
|
- mEntityBuilder.addTextBody("product_id", HuifuConstant.PRODUCT_ID, contentType);
|
|
|
- mEntityBuilder.addTextBody("data", data, contentType);
|
|
|
- mEntityBuilder.addBinaryBody("file", tempFile);
|
|
|
-
|
|
|
- httpPost.setEntity(mEntityBuilder.build());
|
|
|
- response = httpclient1.execute(httpPost);
|
|
|
- int statusCode = response.getStatusLine().getStatusCode();
|
|
|
- if (statusCode == HttpStatus.SC_OK) {
|
|
|
- HttpEntity resEntity = response.getEntity();
|
|
|
- result = EntityUtils.toString(resEntity);
|
|
|
- System.out.print(result);
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
- JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
- result = dataObject.getString("file_id");
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } finally {
|
|
|
- tempFile.delete();
|
|
|
- }
|
|
|
- return result;
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public String updateConStat(THuifuMchCheck tHuifuMchCheck) throws BasePayException {
|
|
@@ -1231,7 +601,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
// 请求参数:Data
|
|
|
JSONObject request = new JSONObject();
|
|
|
// 请求流水号
|
|
|
- String reqSeqId = SequenceTools.getReqSeqId32();
|
|
|
+ String reqSeqId = HuifuUtils.initReqSeqId();
|
|
|
request.put("req_seq_id", reqSeqId);
|
|
|
// 请求日期
|
|
|
request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
@@ -1277,4 +647,140 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getInfo(THuifuMchCheck huifuMchCheck) throws BasePayException {
|
|
|
+ // 请求接口
|
|
|
+ String url = "https://api.huifu.com/v2/user/basicdata/query";
|
|
|
+ // 请求参数:Data
|
|
|
+ JSONObject request = new JSONObject();
|
|
|
+ // 请求流水号
|
|
|
+ String reqSeqId = SequenceTools.getReqSeqId32();
|
|
|
+ request.put("req_seq_id", reqSeqId);
|
|
|
+ // 请求日期
|
|
|
+ request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
+ request.put("huifu_id", huifuMchCheck.getHuifuId());
|
|
|
+
|
|
|
+ // 签名:sign
|
|
|
+ String jsonString = JSON.toJSONString(JSONObject.parseObject(request.toString(), TreeMap.class));
|
|
|
+ String sign = HuifuUtils.sign(jsonString, HuifuConstant.RSA_PRIVATE_KEY);
|
|
|
+
|
|
|
+ // 公共参数
|
|
|
+ log.info("汇付查询请求参数:{}", request);
|
|
|
+ JSONObject requestData = new JSONObject();
|
|
|
+ requestData.put("sys_id", HuifuConstant.SYS_ID);
|
|
|
+ requestData.put("product_id", HuifuConstant.PRODUCT_ID);
|
|
|
+ requestData.put("sign", sign);
|
|
|
+ requestData.put("data", request);
|
|
|
+
|
|
|
+ String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
|
|
|
+ log.info("汇付查询返回数据:{}", result);
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
+ JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
+ String respCode = dataObject.getString("resp_code");
|
|
|
+ if (StringUtils.isNotEmpty(respCode) && respCode.equals("00000000")) {
|
|
|
+ String qryCashConfigList = dataObject.getString("qry_cash_config_list");
|
|
|
+ if (qryCashConfigList != null) {
|
|
|
+ return qryCashConfigList;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String addCashBusiness(THuifuMchCheck huifuMchCheck) throws Exception {
|
|
|
+ // 请求接口
|
|
|
+ String url = "https://api.huifu.com/v2/user/busi/open";
|
|
|
+ HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
|
|
|
+ // 请求参数:Data
|
|
|
+ JSONObject request = new JSONObject();
|
|
|
+ // 请求流水号
|
|
|
+ request.put("req_seq_id", HuifuUtils.initReqSeqId());
|
|
|
+ // 请求日期
|
|
|
+ request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
+ // 汇付ID
|
|
|
+ request.put("huifu_id", huifuMchCheck.getHuifuId());
|
|
|
+ // 上级汇付Id:判断是申泽还是七云
|
|
|
+ TAdmin tAdmin = tAdminService.getById(huifuMchCheck.getAdminId());
|
|
|
+ if (StringUtils.isNotEmpty(tAdmin.getCompanyType()) && tAdmin.getCompanyType().equals("1")) {
|
|
|
+ request.put("upper_huifu_id", HuifuConstant.SC_DIV_HUIFU_ID);
|
|
|
+ } else {
|
|
|
+ request.put("upper_huifu_id", HuifuConstant.SZ_DIV_HUIFU_ID);
|
|
|
+ }
|
|
|
+ // 结算卡信息配置
|
|
|
+ JSONObject cardInfo = new JSONObject();
|
|
|
+ // 卡类型
|
|
|
+ cardInfo.put("card_type", huifuMchCheck.getCardType());
|
|
|
+ // 卡户名
|
|
|
+ cardInfo.put("card_name", huifuMchCheck.getCardName());
|
|
|
+ // 结算账号
|
|
|
+ cardInfo.put("card_no", huifuMchCheck.getCardNo());
|
|
|
+ // 银行所在省
|
|
|
+ cardInfo.put("prov_id", huifuMchCheck.getCardProvId());
|
|
|
+ // 银行所在市
|
|
|
+ cardInfo.put("area_id", huifuMchCheck.getCardAreaId());
|
|
|
+ // 如果是对私
|
|
|
+ if (StringUtils.isNotEmpty(huifuMchCheck.getCardType()) && huifuMchCheck.getCardType().equals("1")) {
|
|
|
+ // 持卡人证件类型
|
|
|
+ cardInfo.put("cert_type", "00");
|
|
|
+ // 持卡人证件号码
|
|
|
+ cardInfo.put("cert_no", huifuMchCheck.getCertNo());
|
|
|
+ // 持卡人证件有效期类型,1:长期有效,0:非长期有效;
|
|
|
+ cardInfo.put("cert_validity_type", huifuMchCheck.getCertValidityType());
|
|
|
+ // 持卡人证件有效期开始
|
|
|
+ cardInfo.put("cert_begin_date", huifuMchCheck.getCertBeginDate());
|
|
|
+ // 持卡人证件有效期截止日期
|
|
|
+ if (StringUtils.isNotEmpty(huifuMchCheck.getCertEndDate())) {
|
|
|
+ cardInfo.put("cert_end_date", huifuMchCheck.getCertEndDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(huifuMchCheck.getCardType()) && huifuMchCheck.getCardType().equals("0")) {
|
|
|
+ // 银行号
|
|
|
+ cardInfo.put("bank_code", huifuMchCheck.getBankCode());
|
|
|
+ // 支行联行号
|
|
|
+ cardInfo.put("branch_code", huifuMchCheck.getBranchCode());
|
|
|
+ }
|
|
|
+ request.put("card_info", cardInfo);
|
|
|
+ // 取现配置
|
|
|
+ JSONArray cashConfig = new JSONArray();
|
|
|
+ JSONObject cashConfigValue = new JSONObject();
|
|
|
+ cashConfigValue.put("cash_type", "T1");
|
|
|
+ cashConfigValue.put("fee_rate", "0.00");
|
|
|
+ cashConfig.add(cashConfigValue);
|
|
|
+ request.put("cash_config", cashConfig.toString());
|
|
|
+ // 签名:sign
|
|
|
+ String s = JSON.toJSONString(request);
|
|
|
+ String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
|
|
|
+ String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
|
|
|
+
|
|
|
+ // 公共参数
|
|
|
+ System.out.println("请求参数:" + request);
|
|
|
+ JSONObject requestData = new JSONObject();
|
|
|
+ requestData.put("sys_id", HuifuConstant.SYS_ID);
|
|
|
+ requestData.put("product_id", HuifuConstant.PRODUCT_ID);
|
|
|
+ requestData.put("sign", sign);
|
|
|
+ requestData.put("data", request);
|
|
|
+ System.out.println("最终请求参数:" + requestData);
|
|
|
+
|
|
|
+ String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
|
|
|
+ System.out.println("返回的数据:" + result);
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
+ JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
+ String code = dataObject.getString("resp_code");
|
|
|
+ String tokenNo = "";
|
|
|
+ if (code.equals(HuifuConstant.RESP_CODE)) {
|
|
|
+ String huifuId = dataObject.getString("huifu_id");
|
|
|
+ LambdaQueryWrapper<THuifuMch> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(THuifuMch::getHuifuId, huifuId);
|
|
|
+ THuifuMch huifuMch = tHuifuMchService.getOne(wrapper);
|
|
|
+ if (huifuMch != null) {
|
|
|
+ tokenNo = dataObject.getString("token_no");
|
|
|
+ if (StringUtils.isNotEmpty(tokenNo)) {
|
|
|
+ huifuMch.setTokenNo(tokenNo);
|
|
|
+ }
|
|
|
+ tHuifuMchService.updateById(huifuMch);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return tokenNo;
|
|
|
+ }
|
|
|
}
|