|
@@ -221,24 +221,33 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
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 (StringUtils.isNotEmpty(tHuifuMchCheck.getCertEndDate())) {
|
|
|
- cardInfo.put("cert_end_date", tHuifuMchCheck.getCertEndDate());
|
|
|
+ // 如果是对私
|
|
|
+ if (StringUtils.isNotEmpty(tHuifuMchCheck.getCardType()) && tHuifuMchCheck.getCardType().equals("1")) {
|
|
|
+ // 持卡人证件类型
|
|
|
+ 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 (StringUtils.isNotEmpty(tHuifuMchCheck.getCertEndDate())) {
|
|
|
+ cardInfo.put("cert_end_date", tHuifuMchCheck.getCertEndDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(tHuifuMchCheck.getCardType()) && tHuifuMchCheck.getCardType().equals("0")) {
|
|
|
+ // 银行号
|
|
|
+ cardInfo.put("bank_code", tHuifuMchCheck.getBankCode());
|
|
|
+ // 支行联行号
|
|
|
+ cardInfo.put("branch_code", tHuifuMchCheck.getBranchCode());
|
|
|
}
|
|
|
- // 持卡人证件有效期截止日期
|
|
|
request.put("card_info", cardInfo);
|
|
|
JSONObject settleConfig = new JSONObject();
|
|
|
- // 结算周期
|
|
|
// 如果是修改接口
|
|
|
if (tHuifuMchCheck.getStatus().equals("4")) {
|
|
|
url = "https://api.huifu.com/v2/user/busi/modify";
|
|
|
+ // 结算周期
|
|
|
settleConfig.put("settle_status", "1");
|
|
|
}
|
|
|
settleConfig.put("settle_cycle", "T1");
|
|
@@ -991,4 +1000,47 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String checkBalance(THuifuMch tHuifuMch) throws Exception {
|
|
|
+ // 请求接口
|
|
|
+ String url = "https://api.huifu.com/v2/trade/acctpayment/balance/query";
|
|
|
+ HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
|
|
|
+ // 请求参数:Data
|
|
|
+ JSONObject request = new JSONObject();
|
|
|
+ // 请求流水号
|
|
|
+ request.put("req_seq_id", SequenceTools.getReqSeqId32());
|
|
|
+ // 请求日期
|
|
|
+ request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
+ // 汇付ID
|
|
|
+ request.put("huifu_id", tHuifuMch.getHuifuId());
|
|
|
+
|
|
|
+ // 签名: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 acctInfoList = dataObject.getString("acctInfo_list");
|
|
|
+ JSONArray acctInfoArray = JSONArray.parseArray(acctInfoList);
|
|
|
+
|
|
|
+ // 如果 "acctInfo_list" 是数组,遍历数组并获取 "balance_amt" 字段的值
|
|
|
+ String balanceAmt = "0";
|
|
|
+ for (int i = 0; i < acctInfoArray.size(); i++) {
|
|
|
+ JSONObject acctInfoObject = acctInfoArray.getJSONObject(i);
|
|
|
+ balanceAmt = acctInfoObject.getString("balance_amt");
|
|
|
+ }
|
|
|
+ return balanceAmt;
|
|
|
+ }
|
|
|
}
|