|
@@ -164,6 +164,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
tHuifuMchCheck.setModifyDate(new Date());
|
|
|
tHuifuMchCheck.setStatus("1");
|
|
|
tHuifuMchCheck.setHuifuId(huifuId);
|
|
|
+ tHuifuMchCheck.setOpenStatus(1);
|
|
|
tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
return HuifuConstant.SUCCESS;
|
|
|
} else {
|
|
@@ -171,6 +172,8 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
tHuifuMchCheck.setModifyDate(new Date());
|
|
|
tHuifuMchCheck.setStatus("3");
|
|
|
tHuifuMchCheck.setAuditDesc(respDesc);
|
|
|
+ tHuifuMchCheck.setOpenStatus(2);
|
|
|
+ tHuifuMchCheck.setOpenDesc(respDesc);
|
|
|
tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
return respDesc;
|
|
|
}
|
|
@@ -769,6 +772,122 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public String changeSettleType(THuifuMchCheck huifuMchCheck) throws Exception {
|
|
|
+ // 请求接口
|
|
|
+ String url = "https://api.huifu.com/v2/user/busi/modify";
|
|
|
+ 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);
|
|
|
+ // 结算方式
|
|
|
+ Integer settType = huifuMchCheck.getSettType();
|
|
|
+ JSONObject settleConfig = new JSONObject();
|
|
|
+ JSONArray cashConfig = new JSONArray();
|
|
|
+ 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());
|
|
|
+ // 签名:signCódigo invitación
|
|
|
+ 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(HuifuConstant.RESP_CODE)) {
|
|
|
+ huifuMchCheck.setModifyDate(new Date());
|
|
|
+ tHuifuMchCheckService.updateById(huifuMchCheck);
|
|
|
+ LambdaQueryWrapper<THuifuMch> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(THuifuMch::getAdminId, huifuMchCheck.getAdminId());
|
|
|
+ THuifuMch huifuMch = tHuifuMchService.getOne(wrapper);
|
|
|
+ if (huifuMch != null) {
|
|
|
+ huifuMch.setModifyDate(new Date());
|
|
|
+ huifuMch.setSettType(huifuMchCheck.getSettType());
|
|
|
+ tHuifuMchService.updateById(huifuMch);
|
|
|
+ }
|
|
|
+ return HuifuConstant.SUCCESS;
|
|
|
+ } else {
|
|
|
+ String respDesc = dataObject.getString("resp_desc");
|
|
|
+ return respDesc;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void withdrawStatus(TAdmin admin, WithdrawalRecord withdrawalRecord) throws Exception {
|
|
|
LambdaQueryWrapper<THuifuMch> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(THuifuMch::getAdminId, admin.getId());
|