拉卡拉分账调试修正
This commit is contained in:
parent
82564922af
commit
827b623cfb
@ -27,9 +27,9 @@ public class LklLedgerReceiver implements Serializable {
|
|||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
private String order_no;
|
private String order_no;
|
||||||
|
private String org_id;
|
||||||
private String org_code;
|
private String org_code;
|
||||||
private String rec_org_code;
|
private String org_name;
|
||||||
private String rec_org_name;
|
|
||||||
private String receiver_no;
|
private String receiver_no;
|
||||||
private String receiver_name;
|
private String receiver_name;
|
||||||
private String contact_mobile;
|
private String contact_mobile;
|
||||||
@ -49,6 +49,7 @@ public class LklLedgerReceiver implements Serializable {
|
|||||||
private String attach_list;
|
private String attach_list;
|
||||||
private String settle_type;
|
private String settle_type;
|
||||||
private String version;
|
private String version;
|
||||||
|
private Integer status;
|
||||||
private Date created_at;
|
private Date created_at;
|
||||||
private Date updated_at;
|
private Date updated_at;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,25 +44,25 @@ public class LakalaController extends BaseControllerImpl {
|
|||||||
|
|
||||||
@ApiOperation(value = "商户分账业务开通申请异步回调回调", notes = "商户分账业务开通申请异步回调回调")
|
@ApiOperation(value = "商户分账业务开通申请异步回调回调", notes = "商户分账业务开通申请异步回调回调")
|
||||||
@RequestMapping(value = "/ledger/applyLedgerMerNotify", method = RequestMethod.POST)
|
@RequestMapping(value = "/ledger/applyLedgerMerNotify", method = RequestMethod.POST)
|
||||||
public CommonResult ledgerApplyLedgerMerNotify(@RequestBody JSONObject paramsJSON) {
|
public JSONObject ledgerApplyLedgerMerNotify(@RequestBody JSONObject paramsJSON) {
|
||||||
return lakalaPayService.applyLedgerMer(paramsJSON);
|
return lakalaPayService.applyLedgerMerNotify(paramsJSON);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "分账接收方创建申请", notes = "分账接收方创建申请")
|
@ApiOperation(value = "分账接收方创建申请", notes = "分账接收方创建申请")
|
||||||
@RequestMapping(value = "/ledger/applyLedgerReceiver", method = RequestMethod.POST)
|
@RequestMapping(value = "/ledger/applyLedgerReceiver", method = RequestMethod.POST)
|
||||||
public CommonResult applyLedgerReceiver(@RequestBody JSONObject paramsJSON) {
|
public CommonResult applyLedgerReceiver(@RequestBody JSONObject paramsJSON) {
|
||||||
return lakalaPayService.applyLedgerMer(paramsJSON);
|
return lakalaPayService.applyLedgerReceiver(paramsJSON);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "分账关系绑定申请", notes = "分账关系绑定申请")
|
@ApiOperation(value = "分账关系绑定申请", notes = "分账关系绑定申请")
|
||||||
@RequestMapping(value = "/ledger/applyBind", method = RequestMethod.POST)
|
@RequestMapping(value = "/ledger/applyBind", method = RequestMethod.POST)
|
||||||
public CommonResult applyBind(@RequestBody JSONObject paramsJSON) {
|
public CommonResult applyBind(@RequestBody JSONObject paramsJSON) {
|
||||||
return lakalaPayService.applyLedgerMer(paramsJSON);
|
return lakalaPayService.applyLedgerMerReceiverBind(paramsJSON);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "分账关系绑定申请异步回调通知", notes = "分账关系绑定申请异步回调通知")
|
@ApiOperation(value = "分账关系绑定申请异步回调通知", notes = "分账关系绑定申请异步回调通知")
|
||||||
@RequestMapping(value = "/ledger/applyBindNotify", method = RequestMethod.POST)
|
@RequestMapping(value = "/ledger/applyBindNotify", method = RequestMethod.POST)
|
||||||
public JSONObject applyBindNotify(@RequestBody JSONObject paramsJSON) {
|
public JSONObject applyBindNotify(@RequestBody JSONObject paramsJSON) {
|
||||||
return lakalaPayService.applyLedgerMerNotify(paramsJSON);
|
return lakalaPayService.applyLedgerMerReceiverBindNotify(paramsJSON);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,6 +77,7 @@ public interface LakalaPayService {
|
|||||||
/**
|
/**
|
||||||
* 文件上传
|
* 文件上传
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=90
|
* 参考:https://o.lakala.com/#/home/document/detail?id=90
|
||||||
|
*
|
||||||
* @param orderNo
|
* @param orderNo
|
||||||
* @param attType
|
* @param attType
|
||||||
* @param attExtName
|
* @param attExtName
|
||||||
@ -89,6 +90,7 @@ public interface LakalaPayService {
|
|||||||
/**
|
/**
|
||||||
* 商户分账业务开通申请
|
* 商户分账业务开通申请
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=379
|
* 参考:https://o.lakala.com/#/home/document/detail?id=379
|
||||||
|
*
|
||||||
* @param paramsJSON
|
* @param paramsJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -97,6 +99,7 @@ public interface LakalaPayService {
|
|||||||
/**
|
/**
|
||||||
* 商户分账业务开通申请回调
|
* 商户分账业务开通申请回调
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=379
|
* 参考:https://o.lakala.com/#/home/document/detail?id=379
|
||||||
|
*
|
||||||
* @param paramsJSON
|
* @param paramsJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -105,6 +108,7 @@ public interface LakalaPayService {
|
|||||||
/**
|
/**
|
||||||
* 分账接收方创建申请
|
* 分账接收方创建申请
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=380
|
* 参考:https://o.lakala.com/#/home/document/detail?id=380
|
||||||
|
*
|
||||||
* @param paramsJSON
|
* @param paramsJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -114,6 +118,7 @@ public interface LakalaPayService {
|
|||||||
/**
|
/**
|
||||||
* 分账关系绑定申请
|
* 分账关系绑定申请
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=386
|
* 参考:https://o.lakala.com/#/home/document/detail?id=386
|
||||||
|
*
|
||||||
* @param paramsJSON
|
* @param paramsJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -123,6 +128,7 @@ public interface LakalaPayService {
|
|||||||
/**
|
/**
|
||||||
* 分账关系绑定申请回调
|
* 分账关系绑定申请回调
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=379
|
* 参考:https://o.lakala.com/#/home/document/detail?id=379
|
||||||
|
*
|
||||||
* @param paramsJSON
|
* @param paramsJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -15,8 +15,24 @@ public interface LklLedgerMemberService extends IBaseService<LklLedgerMember> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据银联商户号新增或修改记录
|
* 根据银联商户号新增或修改记录
|
||||||
|
*
|
||||||
* @param record
|
* @param record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Boolean saveOrUpdateByMerCupNo(LklLedgerMember record);
|
Boolean saveOrUpdateByMerCupNo(LklLedgerMember record);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新审核结果
|
||||||
|
* @param applyId
|
||||||
|
* @param merInnerNo
|
||||||
|
* @param merCupNo
|
||||||
|
* @param entrustFileName
|
||||||
|
* @param entrustFilePath
|
||||||
|
* @param auditStatus
|
||||||
|
* @param auditStatusText
|
||||||
|
* @param remark
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean updateAuditResult(String applyId, String merInnerNo, String merCupNo, String entrustFileName, String entrustFilePath, String auditStatus, String auditStatusText, String remark);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,24 @@ public interface LklLedgerMerReceiverBindService extends IBaseService<LklLedgerM
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据接收方编号新增或更新记录
|
* 根据接收方编号新增或更新记录
|
||||||
|
*
|
||||||
* @param record
|
* @param record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Boolean saveOrUpdateByReceiverNo(LklLedgerMerReceiverBind record);
|
Boolean saveOrUpdateByMerCupNoReceiverNo(LklLedgerMerReceiverBind record);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新审核结果
|
||||||
|
* @param applyId
|
||||||
|
* @param merInnerNo
|
||||||
|
* @param merCupNo
|
||||||
|
* @param receiverNo
|
||||||
|
* @param entrustFileName
|
||||||
|
* @param entrustFilePath
|
||||||
|
* @param auditStatus
|
||||||
|
* @param auditStatusText
|
||||||
|
* @param remark
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean updateAuditResult(String applyId, String merInnerNo, String merCupNo, String receiverNo, String entrustFileName, String entrustFilePath, String auditStatus,String auditStatusText, String remark);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
package com.suisung.mall.pay.service;
|
package com.suisung.mall.pay.service;
|
||||||
|
|
||||||
import com.suisung.mall.common.modules.lakala.LklLedgerMember;
|
|
||||||
import com.suisung.mall.common.modules.lakala.LklLedgerReceiver;
|
import com.suisung.mall.common.modules.lakala.LklLedgerReceiver;
|
||||||
import com.suisung.mall.core.web.service.IBaseService;
|
import com.suisung.mall.core.web.service.IBaseService;
|
||||||
|
|
||||||
@ -16,6 +15,7 @@ public interface LklLedgerReceiverService extends IBaseService<LklLedgerReceive
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据接收方编号新增或更新记录
|
* 根据接收方编号新增或更新记录
|
||||||
|
*
|
||||||
* @param record
|
* @param record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -35,6 +35,7 @@ public interface PayConsumeTradeService extends IBaseService<PayConsumeTrade> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 更改交易订单的订单状态和付款状态
|
* 更改交易订单的订单状态和付款状态
|
||||||
|
*
|
||||||
* @param orderId
|
* @param orderId
|
||||||
* @param orderStateId 空值或0将不更新
|
* @param orderStateId 空值或0将不更新
|
||||||
* @param tradeIsPaid 空值或0将不更新
|
* @param tradeIsPaid 空值或0将不更新
|
||||||
|
|||||||
@ -23,6 +23,7 @@ public interface PayConsumeWithdrawService extends IBaseService<PayConsumeWithdr
|
|||||||
CommonResult saveOrUpdateWithdraw(PayConsumeWithdraw payConsumeWithdraw);
|
CommonResult saveOrUpdateWithdraw(PayConsumeWithdraw payConsumeWithdraw);
|
||||||
|
|
||||||
CommonResult doWithdraw(PayConsumeWithdraw payConsumeWithdraw);
|
CommonResult doWithdraw(PayConsumeWithdraw payConsumeWithdraw);
|
||||||
|
|
||||||
CommonResult doCommisionWithdraw(PayConsumeWithdraw payConsumeWithdraw);
|
CommonResult doCommisionWithdraw(PayConsumeWithdraw payConsumeWithdraw);
|
||||||
|
|
||||||
CommonResult updateInvoiceNo(PayConsumeWithdraw payConsumeWithdraw);
|
CommonResult updateInvoiceNo(PayConsumeWithdraw payConsumeWithdraw);
|
||||||
@ -33,6 +34,7 @@ public interface PayConsumeWithdrawService extends IBaseService<PayConsumeWithdr
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出所属订单
|
* 导出所属订单
|
||||||
|
*
|
||||||
* @param response
|
* @param response
|
||||||
* @param withdraw_id
|
* @param withdraw_id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -33,6 +33,7 @@ public interface PayUserPayService extends IBaseService<PayUserPay> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* lakala 支付回调
|
* lakala 支付回调
|
||||||
|
*
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -374,7 +374,7 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
|
|
||||||
//2. 装配数据
|
//2. 装配数据
|
||||||
V2MmsOpenApiUploadFileRequest req = new V2MmsOpenApiUploadFileRequest();
|
V2MmsOpenApiUploadFileRequest req = new V2MmsOpenApiUploadFileRequest();
|
||||||
req.setVersion("1.0");
|
req.setVersion("2.0");
|
||||||
req.setOrgCode(orgCode);
|
req.setOrgCode(orgCode);
|
||||||
req.setOrderNo(orderNo);
|
req.setOrderNo(orderNo);
|
||||||
req.setAttType(attType);
|
req.setAttType(attType);
|
||||||
@ -470,10 +470,29 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JSONObject applyLedgerMerNotify(JSONObject paramsJSON) {
|
public JSONObject applyLedgerMerNotify(JSONObject paramsJSON) {
|
||||||
|
// TODO 验签
|
||||||
|
|
||||||
JSONObject respData = new JSONObject();
|
JSONObject respData = new JSONObject();
|
||||||
|
respData.put("retCode", "OP90003");
|
||||||
|
respData.put("retMsg", "响应处理失败!");
|
||||||
|
|
||||||
|
if (paramsJSON != null && paramsJSON.get("respData") != null) {
|
||||||
|
JSONObject reqData = (JSONObject) paramsJSON.get("respData");
|
||||||
|
|
||||||
|
Boolean success = lklLedgerMemberService.updateAuditResult(reqData.getStr("applyId"),
|
||||||
|
reqData.getStr("merInnerNo"),
|
||||||
|
reqData.getStr("merCupNo"),
|
||||||
|
reqData.getStr("entrustFileName"),
|
||||||
|
reqData.getStr("entrustFilePath"),
|
||||||
|
reqData.getStr("auditStatus"),
|
||||||
|
reqData.getStr("auditStatusText"),
|
||||||
|
reqData.getStr("remark"));
|
||||||
|
if (success) {
|
||||||
respData.put("retCode", "000000");
|
respData.put("retCode", "000000");
|
||||||
respData.put("retMsg", "操作成功!");
|
respData.put("retMsg", "操作成功!");
|
||||||
respData.put("respData", null);
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return respData;
|
return respData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -491,49 +510,61 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
|
|
||||||
//2. 装配数据
|
//2. 装配数据
|
||||||
V2MmsOpenApiLedgerApplyLedgerReceiverRequest req = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest();
|
V2MmsOpenApiLedgerApplyLedgerReceiverRequest req = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest();
|
||||||
req.setVersion("2.0");
|
|
||||||
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
|
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
|
||||||
req.setOrderNo(orderNo);
|
req.setOrderNo(orderNo);
|
||||||
req.setOrgCode(orgCode);
|
req.setOrgCode(orgCode);
|
||||||
req.setContactMobile(paramsJSON.getStr("contactMobile"));
|
req.setVersion("2.0");
|
||||||
|
|
||||||
req.setReceiverName(paramsJSON.getStr("receiverName"));
|
req.setReceiverName(paramsJSON.getStr("receiverName"));
|
||||||
|
req.setContactMobile(paramsJSON.getStr("contactMobile"));
|
||||||
|
|
||||||
|
req.setLicenseNo(paramsJSON.getStr("licenseNo"));
|
||||||
|
req.setLicenseName(paramsJSON.getStr("licenseName"));
|
||||||
|
req.setLegalPersonName(paramsJSON.getStr("legalPersonName"));
|
||||||
|
req.setLegalPersonCertificateType(paramsJSON.getStr("legalPersonCertificateType"));
|
||||||
|
req.setLegalPersonCertificateNo(paramsJSON.getStr("legalPersonCertificateNo"));
|
||||||
|
|
||||||
|
req.setAcctNo(paramsJSON.getStr("acctNo"));
|
||||||
|
req.setAcctName(paramsJSON.getStr("acctName"));
|
||||||
|
req.setAcctTypeCode(paramsJSON.getStr("acctTypeCode"));
|
||||||
|
req.setAcctCertificateType(paramsJSON.getStr("acctCertificateType"));
|
||||||
|
|
||||||
req.setAcctCertificateNo(paramsJSON.getStr("acctCertificateNo"));
|
req.setAcctCertificateNo(paramsJSON.getStr("acctCertificateNo"));
|
||||||
req.setAcctOpenBankCode(paramsJSON.getStr("acctOpenBankCode"));
|
req.setAcctOpenBankCode(paramsJSON.getStr("acctOpenBankCode"));
|
||||||
req.setAcctOpenBankName(paramsJSON.getStr("acctOpenBankName"));
|
req.setAcctOpenBankName(paramsJSON.getStr("acctOpenBankName"));
|
||||||
req.setAcctName(paramsJSON.getStr("acctName"));
|
req.setAcctClearBankCode(paramsJSON.getStr("acctClearBankCode"));
|
||||||
req.setAcctNo(paramsJSON.getStr("acctNo"));
|
|
||||||
req.setAcctTypeCode(paramsJSON.getStr("acctTypeCode"));
|
|
||||||
req.setAcctCertificateType(paramsJSON.getStr("acctCertificateTyp"));
|
|
||||||
|
|
||||||
|
if (paramsJSON.getJSONArray("attachList") != null && paramsJSON.getJSONArray("attachList").size() > 0) {
|
||||||
List<V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo> attachList = new ArrayList<>();
|
List<V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo> attachList = new ArrayList<>();
|
||||||
V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo attachInfo = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo();
|
V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo attachInfo = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo();
|
||||||
|
for (JSONObject attachJSON : paramsJSON.getJSONArray("attachList").jsonIter()) {
|
||||||
for (Object attachJSON : paramsJSON.getJSONArray("attachList")) {
|
String fileName = attachJSON.getStr("attachName");
|
||||||
JSONObject attachJSONObj = (JSONObject) attachJSON;
|
String attachType = attachJSON.getStr("attachType");
|
||||||
String fileName = paramsJSON.getStr("attachName");
|
String fileBase64 = attachJSON.getStr("attachStoreFile");
|
||||||
attachInfo.setAttachName(fileName);
|
attachInfo.setAttachName(fileName);
|
||||||
attachInfo.setAttachType(attachJSONObj.getStr("attachType"));
|
attachInfo.setAttachType(attachType);
|
||||||
|
|
||||||
JSONObject fileUploadResp = uploadFile(StringUtils.genLklOrderNo(8), attachJSONObj.getStr("attachType"), StringUtils.getFileExt(fileName), paramsJSON.getStr("attachFile"));
|
JSONObject fileUploadResp = uploadFile(StringUtils.genLklOrderNo(8), attachType,
|
||||||
|
StringUtils.getFileExt(fileName), fileBase64);
|
||||||
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
|
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
|
||||||
throw new ApiException(I18nUtil._("附件上传失败!"));
|
throw new ApiException(I18nUtil._("附件上传失败!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
attachInfo.setAttachStorePath(fileUploadResp.getStr("attFileId"));
|
attachInfo.setAttachStorePath(fileUploadResp.getStr("attFileId"));
|
||||||
|
|
||||||
attachList.add(attachInfo);
|
attachList.add(attachInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
req.setAttachList(attachList);
|
req.setAttachList(attachList);
|
||||||
|
paramsJSON.set("attach_list", JSONUtil.toJsonStr(attachList));
|
||||||
|
}
|
||||||
|
|
||||||
paramsJSON.set("orderNo", orderNo);
|
paramsJSON.set("orderNo", orderNo);
|
||||||
paramsJSON.set("version", "2.0");
|
paramsJSON.set("version", "2.0");
|
||||||
paramsJSON.set("org_code", orgCode);
|
paramsJSON.set("org_code", orgCode);
|
||||||
paramsJSON.set("attach_list", JSONUtil.toJsonStr(attachList));
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//3. 发送请求
|
//3. 发送请求,申请创建分账接收方
|
||||||
String responseStr = LKLSDK.httpPost(req);
|
String responseStr = LKLSDK.httpPost(req);
|
||||||
|
|
||||||
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
||||||
@ -542,18 +573,20 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
paramsJSON.set("receiver_no", lakalaRespJSON.getByPath("respData.receiverNo"));
|
paramsJSON.set("receiver_no", lakalaRespJSON.getByPath("respData.receiverNo"));
|
||||||
paramsJSON.set("rec_org_code", lakalaRespJSON.getByPath("respData.orgId"));
|
paramsJSON.set("org_id", lakalaRespJSON.getByPath("respData.orgId"));
|
||||||
paramsJSON.set("rec_org_name", lakalaRespJSON.getByPath("respData.orgName"));
|
paramsJSON.set("org_name", lakalaRespJSON.getByPath("respData.orgName"));
|
||||||
|
|
||||||
// 新增数据
|
// 新增数据
|
||||||
// 将 JSON 对象的键名转换为下划线命名
|
// 将 JSON 对象的键名转换为下划线命名
|
||||||
LklLedgerReceiver lklLedgerReceiver = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerReceiver.class);
|
LklLedgerReceiver lklLedgerReceiver = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerReceiver.class);
|
||||||
|
|
||||||
|
// 新增或修改本地数据
|
||||||
lklLedgerReceiverService.saveOrUpdateByReceiverNo(lklLedgerReceiver);
|
lklLedgerReceiverService.saveOrUpdateByReceiverNo(lklLedgerReceiver);
|
||||||
|
|
||||||
return CommonResult.success(null, "提交成功,待审核中!");
|
return CommonResult.success(null, "接收方创建成功!");
|
||||||
} catch (SDKException e) {
|
} catch (SDKException e) {
|
||||||
log.error("分账申请失败:", e);
|
log.error("接收方创建失败:", e);
|
||||||
throw new ApiException(I18nUtil._("申请失败!"), e);
|
throw new ApiException(I18nUtil._("接收方创建失败!"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -571,18 +604,28 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
|
|
||||||
//2. 装配数据
|
//2. 装配数据
|
||||||
V2MmsOpenApiLedgerApplyBindRequest req = new V2MmsOpenApiLedgerApplyBindRequest();
|
V2MmsOpenApiLedgerApplyBindRequest req = new V2MmsOpenApiLedgerApplyBindRequest();
|
||||||
req.setVersion("2.0");
|
|
||||||
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
|
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
|
||||||
req.setOrderNo(orderNo);
|
req.setOrderNo(orderNo);
|
||||||
req.setOrgCode(orgCode);
|
req.setOrgCode(orgCode);
|
||||||
|
req.setVersion("2.0");
|
||||||
|
|
||||||
req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));
|
req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));
|
||||||
req.setMerCupNo(paramsJSON.getStr("merCupNo"));
|
req.setMerCupNo(paramsJSON.getStr("merCupNo"));
|
||||||
req.setReceiverNo(paramsJSON.getStr("receiverNo"));
|
req.setReceiverNo(paramsJSON.getStr("receiverNo"));
|
||||||
|
|
||||||
String fileName = paramsJSON.getStr("entrustFileName");
|
String fileName = paramsJSON.getStr("entrustFileName");
|
||||||
|
String splitEntrustFileBase64 = paramsJSON.getStr("entrustFile");
|
||||||
req.setEntrustFileName(fileName);
|
req.setEntrustFileName(fileName);
|
||||||
|
|
||||||
|
String retUrl = projectDomain + "/mobile/pay/lakala/ledger/applyLedgerMerReceiverBindNotify";
|
||||||
|
req.setRetUrl(retUrl);
|
||||||
|
|
||||||
// 文件上传到拉卡拉服务器
|
// 文件上传到拉卡拉服务器
|
||||||
JSONObject fileUploadResp = uploadFile(orderNo, "SPLIT_ENTRUST_FILE", StringUtils.getFileExt(fileName), paramsJSON.getStr("splitEntrustFile"));
|
JSONObject fileUploadResp = uploadFile(orderNo,
|
||||||
|
"SPLIT_COOPERATION_FILE",
|
||||||
|
StringUtils.getFileExt(fileName),
|
||||||
|
splitEntrustFileBase64);
|
||||||
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
|
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
|
||||||
throw new ApiException(I18nUtil._("合作协议上传失败!"));
|
throw new ApiException(I18nUtil._("合作协议上传失败!"));
|
||||||
}
|
}
|
||||||
@ -590,14 +633,12 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
String entrustFilePath = fileUploadResp.getStr("attFileId");
|
String entrustFilePath = fileUploadResp.getStr("attFileId");
|
||||||
req.setEntrustFilePath(entrustFilePath);
|
req.setEntrustFilePath(entrustFilePath);
|
||||||
|
|
||||||
String retUrl = projectDomain + "/mobile/pay/lakala/ledger/applyLedgerMerReceiverBindNotify";
|
|
||||||
req.setRetUrl(retUrl);
|
|
||||||
|
|
||||||
paramsJSON.set("orderNo", orderNo);
|
paramsJSON.set("orderNo", orderNo);
|
||||||
paramsJSON.set("version", "2.0");
|
paramsJSON.set("version", "2.0");
|
||||||
paramsJSON.set("ret_url", retUrl);
|
paramsJSON.set("ret_url", retUrl);
|
||||||
paramsJSON.set("org_code", orgCode);
|
paramsJSON.set("org_code", orgCode);
|
||||||
paramsJSON.set("entrust_file_name", entrustFilePath);
|
paramsJSON.set("entrust_file_name", fileName);
|
||||||
|
paramsJSON.set("entrust_file_path", entrustFilePath);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//3. 发送请求
|
//3. 发送请求
|
||||||
@ -606,18 +647,15 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
||||||
if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
|
if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
|
||||||
throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg")));
|
throw new ApiException(I18nUtil._(lakalaRespJSON.getStr("retMsg")));
|
||||||
// responseStr="{'retCode':'000000','retMsg':'申请已受理,请等待审核结果','respData':{'version':'1.0','orderNo':'KFPT20230223181025407788734','orgCode':'1','applyId':681201215598657536}}";
|
|
||||||
// lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId"));
|
paramsJSON.set("apply_id", lakalaRespJSON.getByPath("respData.applyId"));
|
||||||
paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg"));
|
paramsJSON.set("remark", lakalaRespJSON.getStr("retMsg"));
|
||||||
paramsJSON.set("audit_status_text", paramsJSON.get("remark"));
|
|
||||||
|
|
||||||
// 新增数据
|
// 新增数据
|
||||||
// 将 JSON 对象的键名转换为下划线命名
|
// 将 JSON 对象的键名转换为下划线命名
|
||||||
LklLedgerMerReceiverBind lklLedgerMerReceiverBind = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMerReceiverBind.class);
|
LklLedgerMerReceiverBind lklLedgerMerReceiverBind = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMerReceiverBind.class);
|
||||||
lklLedgerMerReceiverBindService.saveOrUpdateByReceiverNo(lklLedgerMerReceiverBind);
|
lklLedgerMerReceiverBindService.saveOrUpdateByMerCupNoReceiverNo(lklLedgerMerReceiverBind);
|
||||||
|
|
||||||
return CommonResult.success(null, "提交成功,待审核中!");
|
return CommonResult.success(null, "提交成功,待审核中!");
|
||||||
} catch (SDKException e) {
|
} catch (SDKException e) {
|
||||||
@ -635,7 +673,30 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JSONObject applyLedgerMerReceiverBindNotify(JSONObject paramsJSON) {
|
public JSONObject applyLedgerMerReceiverBindNotify(JSONObject paramsJSON) {
|
||||||
return null;
|
// TODO 验签
|
||||||
|
JSONObject respData = new JSONObject();
|
||||||
|
respData.put("retCode", "OP90003");
|
||||||
|
respData.put("retMsg", "响应处理失败!");
|
||||||
|
|
||||||
|
if (paramsJSON != null && paramsJSON.get("respData") != null) {
|
||||||
|
JSONObject reqData = (JSONObject) paramsJSON.get("respData");
|
||||||
|
|
||||||
|
Boolean success = lklLedgerMerReceiverBindService.updateAuditResult(reqData.getStr("applyId"),
|
||||||
|
reqData.getStr("merInnerNo"),
|
||||||
|
reqData.getStr("merCupNo"),
|
||||||
|
reqData.getStr("receiverNo"),
|
||||||
|
reqData.getStr("entrustFileName"),
|
||||||
|
reqData.getStr("entrustFilePath"),
|
||||||
|
reqData.getStr("auditStatus"),
|
||||||
|
reqData.getStr("auditStatusText"),
|
||||||
|
reqData.getStr("remark"));
|
||||||
|
if (success) {
|
||||||
|
respData.put("retCode", "000000");
|
||||||
|
respData.put("retMsg", "操作成功!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return respData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -8,14 +8,18 @@
|
|||||||
|
|
||||||
package com.suisung.mall.pay.service.impl;
|
package com.suisung.mall.pay.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.suisung.mall.common.modules.lakala.LklLedgerMember;
|
import com.suisung.mall.common.modules.lakala.LklLedgerMember;
|
||||||
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
||||||
import com.suisung.mall.pay.mapper.LklLedgerMemberMapper;
|
import com.suisung.mall.pay.mapper.LklLedgerMemberMapper;
|
||||||
import com.suisung.mall.pay.service.LklLedgerMemberService;
|
import com.suisung.mall.pay.service.LklLedgerMemberService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class LklLedgerMemberServiceImpl extends BaseServiceImpl<LklLedgerMemberMapper, LklLedgerMember> implements LklLedgerMemberService {
|
public class LklLedgerMemberServiceImpl extends BaseServiceImpl<LklLedgerMemberMapper, LklLedgerMember> implements LklLedgerMemberService {
|
||||||
|
|
||||||
@ -34,13 +38,46 @@ public class LklLedgerMemberServiceImpl extends BaseServiceImpl<LklLedgerMemberM
|
|||||||
|
|
||||||
QueryWrapper<LklLedgerMember> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<LklLedgerMember> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("mer_cup_no", record.getMer_cup_no());
|
queryWrapper.eq("mer_cup_no", record.getMer_cup_no());
|
||||||
LklLedgerMember existsRecord = getOne(queryWrapper);
|
List<LklLedgerMember> existsRecordList = list(queryWrapper);
|
||||||
if (existsRecord != null) {
|
if (!CollectionUtil.isEmpty(existsRecordList)
|
||||||
|
&& existsRecordList.get(0) != null
|
||||||
|
&& existsRecordList.get(0).getId() > 0) {
|
||||||
// update
|
// update
|
||||||
record.setId(existsRecord.getId());
|
record.setId(existsRecordList.get(0).getId());
|
||||||
return updateById(record);
|
return updateById(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
return save(record);
|
return save(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新审核结果
|
||||||
|
* @param applyId
|
||||||
|
* @param merInnerNo
|
||||||
|
* @param merCupNo
|
||||||
|
* @param entrustFileName
|
||||||
|
* @param entrustFilePath
|
||||||
|
* @param auditStatus
|
||||||
|
* @param auditStatusText
|
||||||
|
* @param remark
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateAuditResult(String applyId, String merInnerNo, String merCupNo, String entrustFileName, String entrustFilePath, String auditStatus, String auditStatusText, String remark){
|
||||||
|
if (StrUtil.isBlank(applyId) || StrUtil.isBlank(merCupNo) || StrUtil.isBlank(auditStatus)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateWrapper<LklLedgerMember> updateWrapper = new UpdateWrapper<>();
|
||||||
|
updateWrapper.eq("apply_id", applyId);
|
||||||
|
updateWrapper.set("mer_inner_no", merInnerNo);
|
||||||
|
updateWrapper.set("mer_cup_no", merCupNo);
|
||||||
|
updateWrapper.set("split_entrust_file_name", entrustFileName);
|
||||||
|
updateWrapper.set("split_entrust_file_path", entrustFilePath);
|
||||||
|
updateWrapper.set("audit_status", auditStatus);
|
||||||
|
updateWrapper.set("audit_status_text", auditStatusText);
|
||||||
|
updateWrapper.set("remark", remark);
|
||||||
|
|
||||||
|
return update(updateWrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,14 +8,18 @@
|
|||||||
|
|
||||||
package com.suisung.mall.pay.service.impl;
|
package com.suisung.mall.pay.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.suisung.mall.common.modules.lakala.LklLedgerMerReceiverBind;
|
import com.suisung.mall.common.modules.lakala.LklLedgerMerReceiverBind;
|
||||||
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
||||||
import com.suisung.mall.pay.mapper.LklLedgerMerReceiverBindMapper;
|
import com.suisung.mall.pay.mapper.LklLedgerMerReceiverBindMapper;
|
||||||
import com.suisung.mall.pay.service.LklLedgerMerReceiverBindService;
|
import com.suisung.mall.pay.service.LklLedgerMerReceiverBindService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedgerMerReceiverBindMapper, LklLedgerMerReceiverBind> implements LklLedgerMerReceiverBindService {
|
public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedgerMerReceiverBindMapper, LklLedgerMerReceiverBind> implements LklLedgerMerReceiverBindService {
|
||||||
/**
|
/**
|
||||||
@ -25,7 +29,7 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean saveOrUpdateByReceiverNo(LklLedgerMerReceiverBind record) {
|
public Boolean saveOrUpdateByMerCupNoReceiverNo(LklLedgerMerReceiverBind record) {
|
||||||
if (record == null || StrUtil.isBlank(record.getReceiver_no())) {
|
if (record == null || StrUtil.isBlank(record.getReceiver_no())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -33,13 +37,48 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
|
|||||||
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("mer_cup_no", record.getMer_cup_no());
|
queryWrapper.eq("mer_cup_no", record.getMer_cup_no());
|
||||||
queryWrapper.eq("receiver_no", record.getReceiver_no());
|
queryWrapper.eq("receiver_no", record.getReceiver_no());
|
||||||
LklLedgerMerReceiverBind existsRecord = getOne(queryWrapper);
|
List<LklLedgerMerReceiverBind> existsRecordList = list(queryWrapper);
|
||||||
if (existsRecord != null) {
|
if (!CollectionUtil.isEmpty(existsRecordList)
|
||||||
|
&& existsRecordList.get(0) != null
|
||||||
|
&& existsRecordList.get(0).getId() > 0) {
|
||||||
// update
|
// update
|
||||||
record.setId(existsRecord.getId());
|
record.setId(existsRecordList.get(0).getId());
|
||||||
return updateById(record);
|
return updateById(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
return save(record);
|
return save(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新审核结果
|
||||||
|
* @param applyId
|
||||||
|
* @param merInnerNo
|
||||||
|
* @param merCupNo
|
||||||
|
* @param receiverNo
|
||||||
|
* @param entrustFileName
|
||||||
|
* @param entrustFilePath
|
||||||
|
* @param auditStatus
|
||||||
|
* @param auditStatusText
|
||||||
|
* @param remark
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateAuditResult(String applyId, String merInnerNo, String merCupNo, String receiverNo, String entrustFileName, String entrustFilePath, String auditStatus,String auditStatusText, String remark){
|
||||||
|
if(StrUtil.isBlank(applyId) || StrUtil.isBlank(merCupNo) || StrUtil.isBlank(receiverNo) || StrUtil.isBlank(auditStatus)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateWrapper<LklLedgerMerReceiverBind> updateWrapper = new UpdateWrapper<>();
|
||||||
|
updateWrapper.eq("apply_id", applyId);
|
||||||
|
updateWrapper.set("receiver_no", receiverNo);
|
||||||
|
updateWrapper.set("mer_inner_no", merInnerNo);
|
||||||
|
updateWrapper.set("mer_cup_no", merCupNo);
|
||||||
|
updateWrapper.set("split_entrust_file_name", entrustFileName);
|
||||||
|
updateWrapper.set("split_entrust_file_path", entrustFilePath);
|
||||||
|
updateWrapper.set("audit_status", auditStatus);
|
||||||
|
updateWrapper.set("audit_status_text", auditStatusText);
|
||||||
|
updateWrapper.set("remark", remark);
|
||||||
|
|
||||||
|
return update(updateWrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
package com.suisung.mall.pay.service.impl;
|
package com.suisung.mall.pay.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.suisung.mall.common.modules.lakala.LklLedgerReceiver;
|
import com.suisung.mall.common.modules.lakala.LklLedgerReceiver;
|
||||||
@ -16,6 +17,8 @@ import com.suisung.mall.pay.mapper.LklLedgerReceiverMapper;
|
|||||||
import com.suisung.mall.pay.service.LklLedgerReceiverService;
|
import com.suisung.mall.pay.service.LklLedgerReceiverService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class LklLedgerReceiverServiceImpl extends BaseServiceImpl<LklLedgerReceiverMapper, LklLedgerReceiver> implements LklLedgerReceiverService {
|
public class LklLedgerReceiverServiceImpl extends BaseServiceImpl<LklLedgerReceiverMapper, LklLedgerReceiver> implements LklLedgerReceiverService {
|
||||||
/**
|
/**
|
||||||
@ -26,16 +29,24 @@ public class LklLedgerReceiverServiceImpl extends BaseServiceImpl<LklLedgerRecei
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean saveOrUpdateByReceiverNo(LklLedgerReceiver record) {
|
public Boolean saveOrUpdateByReceiverNo(LklLedgerReceiver record) {
|
||||||
if (record == null || StrUtil.isBlank(record.getReceiver_no())) {
|
if (record == null || (StrUtil.isBlank(record.getLicense_no()) && StrUtil.isBlank(record.getContact_mobile()))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryWrapper<LklLedgerReceiver> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<LklLedgerReceiver> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("receiver_no", record.getReceiver_no());
|
if (StrUtil.isNotBlank(record.getLicense_no())) {
|
||||||
LklLedgerReceiver existsRecord = getOne(queryWrapper);
|
queryWrapper.eq("license_no", record.getLicense_no());
|
||||||
if (existsRecord != null) {
|
}
|
||||||
|
if (StrUtil.isNotBlank(record.getContact_mobile())) {
|
||||||
|
queryWrapper.eq("contact_mobile", record.getContact_mobile());
|
||||||
|
}
|
||||||
|
|
||||||
|
List<LklLedgerReceiver> existsRecordList = list(queryWrapper);
|
||||||
|
if (!CollectionUtil.isEmpty(existsRecordList)
|
||||||
|
&& existsRecordList.get(0) != null
|
||||||
|
&& existsRecordList.get(0).getId() > 0) {
|
||||||
// update
|
// update
|
||||||
record.setId(existsRecord.getId());
|
record.setId(existsRecordList.get(0).getId());
|
||||||
return updateById(record);
|
return updateById(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user