拉卡拉分账调试修正

This commit is contained in:
Jack 2025-02-11 21:05:27 +08:00
parent 82564922af
commit 827b623cfb
15 changed files with 264 additions and 73 deletions

View File

@ -27,9 +27,9 @@ public class LklLedgerReceiver implements Serializable {
private Long id;
private String order_no;
private String org_id;
private String org_code;
private String rec_org_code;
private String rec_org_name;
private String org_name;
private String receiver_no;
private String receiver_name;
private String contact_mobile;
@ -49,6 +49,7 @@ public class LklLedgerReceiver implements Serializable {
private String attach_list;
private String settle_type;
private String version;
private Integer status;
private Date created_at;
private Date updated_at;
}

View File

@ -44,25 +44,25 @@ public class LakalaController extends BaseControllerImpl {
@ApiOperation(value = "商户分账业务开通申请异步回调回调", notes = "商户分账业务开通申请异步回调回调")
@RequestMapping(value = "/ledger/applyLedgerMerNotify", method = RequestMethod.POST)
public CommonResult ledgerApplyLedgerMerNotify(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerMer(paramsJSON);
public JSONObject ledgerApplyLedgerMerNotify(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerMerNotify(paramsJSON);
}
@ApiOperation(value = "分账接收方创建申请", notes = "分账接收方创建申请")
@RequestMapping(value = "/ledger/applyLedgerReceiver", method = RequestMethod.POST)
public CommonResult applyLedgerReceiver(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerMer(paramsJSON);
return lakalaPayService.applyLedgerReceiver(paramsJSON);
}
@ApiOperation(value = "分账关系绑定申请", notes = "分账关系绑定申请")
@RequestMapping(value = "/ledger/applyBind", method = RequestMethod.POST)
public CommonResult applyBind(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerMer(paramsJSON);
return lakalaPayService.applyLedgerMerReceiverBind(paramsJSON);
}
@ApiOperation(value = "分账关系绑定申请异步回调通知", notes = "分账关系绑定申请异步回调通知")
@RequestMapping(value = "/ledger/applyBindNotify", method = RequestMethod.POST)
public JSONObject applyBindNotify(@RequestBody JSONObject paramsJSON) {
return lakalaPayService.applyLedgerMerNotify(paramsJSON);
return lakalaPayService.applyLedgerMerReceiverBindNotify(paramsJSON);
}
}

View File

@ -66,10 +66,10 @@ public interface LakalaPayService {
* 账户余额查询
* 参考https://o.lakala.com/#/home/document/detail?id=364
*
* @param orgNo bmcp机构号
* @param merchantNo 商户号 receiveNo 商户用户编号
* @param payNo 账号若该参数上送则payType将无效
* @param payType 账号类型01收款账户02付款账户03分账商户账户04分账接收方账户05充值代付账户06结算代付账户- 未上送则默认为01
* @param orgNo bmcp机构号
* @param merchantNo 商户号 receiveNo 商户用户编号
* @param payNo 账号若该参数上送则payType将无效
* @param payType 账号类型01收款账户02付款账户03分账商户账户04分账接收方账户05充值代付账户06结算代付账户- 未上送则默认为01
* @return
*/
JSONObject ewalletBalanceQuery(String orgNo, String merchantNo, String payNo, String payType);
@ -77,6 +77,7 @@ public interface LakalaPayService {
/**
* 文件上传
* 参考https://o.lakala.com/#/home/document/detail?id=90
*
* @param orderNo
* @param attType
* @param attExtName
@ -89,6 +90,7 @@ public interface LakalaPayService {
/**
* 商户分账业务开通申请
* 参考https://o.lakala.com/#/home/document/detail?id=379
*
* @param paramsJSON
* @return
*/
@ -97,6 +99,7 @@ public interface LakalaPayService {
/**
* 商户分账业务开通申请回调
* 参考https://o.lakala.com/#/home/document/detail?id=379
*
* @param paramsJSON
* @return
*/
@ -105,6 +108,7 @@ public interface LakalaPayService {
/**
* 分账接收方创建申请
* 参考https://o.lakala.com/#/home/document/detail?id=380
*
* @param paramsJSON
* @return
*/
@ -114,6 +118,7 @@ public interface LakalaPayService {
/**
* 分账关系绑定申请
* 参考https://o.lakala.com/#/home/document/detail?id=386
*
* @param paramsJSON
* @return
*/
@ -123,6 +128,7 @@ public interface LakalaPayService {
/**
* 分账关系绑定申请回调
* 参考https://o.lakala.com/#/home/document/detail?id=379
*
* @param paramsJSON
* @return
*/

View File

@ -15,8 +15,24 @@ public interface LklLedgerMemberService extends IBaseService<LklLedgerMember> {
/**
* 根据银联商户号新增或修改记录
*
* @param record
* @return
*/
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);
}

View File

@ -15,8 +15,24 @@ public interface LklLedgerMerReceiverBindService extends IBaseService<LklLedgerM
/**
* 根据接收方编号新增或更新记录
*
* @param record
* @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);
}

View File

@ -8,14 +8,14 @@
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.core.web.service.IBaseService;
public interface LklLedgerReceiverService extends IBaseService<LklLedgerReceiver> {
public interface LklLedgerReceiverService extends IBaseService<LklLedgerReceiver> {
/**
* 根据接收方编号新增或更新记录
*
* @param record
* @return
*/

View File

@ -35,9 +35,10 @@ public interface PayConsumeTradeService extends IBaseService<PayConsumeTrade> {
/**
* 更改交易订单的订单状态和付款状态
*
* @param orderId
* @param orderStateId 空值或0将不更新
* @param tradeIsPaid 空值或0将不更新
* @param tradeIsPaid 空值或0将不更新
* @return
*/
boolean changeOrderState(String orderId, Integer orderStateId, Integer tradeIsPaid);

View File

@ -23,6 +23,7 @@ public interface PayConsumeWithdrawService extends IBaseService<PayConsumeWithdr
CommonResult saveOrUpdateWithdraw(PayConsumeWithdraw payConsumeWithdraw);
CommonResult doWithdraw(PayConsumeWithdraw payConsumeWithdraw);
CommonResult doCommisionWithdraw(PayConsumeWithdraw payConsumeWithdraw);
CommonResult updateInvoiceNo(PayConsumeWithdraw payConsumeWithdraw);
@ -33,6 +34,7 @@ public interface PayConsumeWithdrawService extends IBaseService<PayConsumeWithdr
/**
* 导出所属订单
*
* @param response
* @param withdraw_id
*/

View File

@ -33,6 +33,7 @@ public interface PayUserPayService extends IBaseService<PayUserPay> {
/**
* lakala 支付回调
*
* @param request
* @return
*/

View File

@ -374,7 +374,7 @@ public class LakalaPayServiceImpl implements LakalaPayService {
//2. 装配数据
V2MmsOpenApiUploadFileRequest req = new V2MmsOpenApiUploadFileRequest();
req.setVersion("1.0");
req.setVersion("2.0");
req.setOrgCode(orgCode);
req.setOrderNo(orderNo);
req.setAttType(attType);
@ -470,10 +470,29 @@ public class LakalaPayServiceImpl implements LakalaPayService {
*/
@Override
public JSONObject applyLedgerMerNotify(JSONObject paramsJSON) {
// TODO 验签
JSONObject respData = new JSONObject();
respData.put("retCode", "000000");
respData.put("retMsg", "操作成功!");
respData.put("respData", null);
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("retMsg", "操作成功!");
}
}
return respData;
}
@ -491,49 +510,61 @@ public class LakalaPayServiceImpl implements LakalaPayService {
//2. 装配数据
V2MmsOpenApiLedgerApplyLedgerReceiverRequest req = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest();
req.setVersion("2.0");
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
req.setOrderNo(orderNo);
req.setOrgCode(orgCode);
req.setContactMobile(paramsJSON.getStr("contactMobile"));
req.setVersion("2.0");
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.setAcctOpenBankCode(paramsJSON.getStr("acctOpenBankCode"));
req.setAcctOpenBankName(paramsJSON.getStr("acctOpenBankName"));
req.setAcctName(paramsJSON.getStr("acctName"));
req.setAcctNo(paramsJSON.getStr("acctNo"));
req.setAcctTypeCode(paramsJSON.getStr("acctTypeCode"));
req.setAcctCertificateType(paramsJSON.getStr("acctCertificateTyp"));
req.setAcctClearBankCode(paramsJSON.getStr("acctClearBankCode"));
List<V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo> attachList = new ArrayList<>();
V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo attachInfo = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo();
if (paramsJSON.getJSONArray("attachList") != null && paramsJSON.getJSONArray("attachList").size() > 0) {
List<V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo> attachList = new ArrayList<>();
V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo attachInfo = new V2MmsOpenApiLedgerApplyLedgerReceiverRequest.AttachInfo();
for (JSONObject attachJSON : paramsJSON.getJSONArray("attachList").jsonIter()) {
String fileName = attachJSON.getStr("attachName");
String attachType = attachJSON.getStr("attachType");
String fileBase64 = attachJSON.getStr("attachStoreFile");
attachInfo.setAttachName(fileName);
attachInfo.setAttachType(attachType);
for (Object attachJSON : paramsJSON.getJSONArray("attachList")) {
JSONObject attachJSONObj = (JSONObject) attachJSON;
String fileName = paramsJSON.getStr("attachName");
attachInfo.setAttachName(fileName);
attachInfo.setAttachType(attachJSONObj.getStr("attachType"));
JSONObject fileUploadResp = uploadFile(StringUtils.genLklOrderNo(8), attachType,
StringUtils.getFileExt(fileName), fileBase64);
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
throw new ApiException(I18nUtil._("附件上传失败!"));
}
JSONObject fileUploadResp = uploadFile(StringUtils.genLklOrderNo(8), attachJSONObj.getStr("attachType"), StringUtils.getFileExt(fileName), paramsJSON.getStr("attachFile"));
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
throw new ApiException(I18nUtil._("附件上传失败!"));
attachInfo.setAttachStorePath(fileUploadResp.getStr("attFileId"));
attachList.add(attachInfo);
}
attachInfo.setAttachStorePath(fileUploadResp.getStr("attFileId"));
attachList.add(attachInfo);
req.setAttachList(attachList);
paramsJSON.set("attach_list", JSONUtil.toJsonStr(attachList));
}
req.setAttachList(attachList);
paramsJSON.set("orderNo", orderNo);
paramsJSON.set("version", "2.0");
paramsJSON.set("org_code", orgCode);
paramsJSON.set("attach_list", JSONUtil.toJsonStr(attachList));
try {
//3. 发送请求
//3. 发送请求申请创建分账接收方
String responseStr = LKLSDK.httpPost(req);
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
@ -542,18 +573,20 @@ public class LakalaPayServiceImpl implements LakalaPayService {
}
paramsJSON.set("receiver_no", lakalaRespJSON.getByPath("respData.receiverNo"));
paramsJSON.set("rec_org_code", lakalaRespJSON.getByPath("respData.orgId"));
paramsJSON.set("rec_org_name", lakalaRespJSON.getByPath("respData.orgName"));
paramsJSON.set("org_id", lakalaRespJSON.getByPath("respData.orgId"));
paramsJSON.set("org_name", lakalaRespJSON.getByPath("respData.orgName"));
// 新增数据
// JSON 对象的键名转换为下划线命名
LklLedgerReceiver lklLedgerReceiver = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerReceiver.class);
// 新增或修改本地数据
lklLedgerReceiverService.saveOrUpdateByReceiverNo(lklLedgerReceiver);
return CommonResult.success(null, "提交成功,待审核中");
return CommonResult.success(null, "接收方创建成功");
} catch (SDKException e) {
log.error("分账申请失败:", e);
throw new ApiException(I18nUtil._("申请失败!"), e);
log.error("接收方创建失败:", e);
throw new ApiException(I18nUtil._("接收方创建失败!"), e);
}
}
@ -571,18 +604,28 @@ public class LakalaPayServiceImpl implements LakalaPayService {
//2. 装配数据
V2MmsOpenApiLedgerApplyBindRequest req = new V2MmsOpenApiLedgerApplyBindRequest();
req.setVersion("2.0");
String orderNo = StringUtils.genLklOrderNo(8); // 8位随机数
req.setOrderNo(orderNo);
req.setOrgCode(orgCode);
req.setVersion("2.0");
req.setMerInnerNo(paramsJSON.getStr("merInnerNo"));
req.setMerCupNo(paramsJSON.getStr("merCupNo"));
req.setReceiverNo(paramsJSON.getStr("receiverNo"));
String fileName = paramsJSON.getStr("entrustFileName");
String splitEntrustFileBase64 = paramsJSON.getStr("entrustFile");
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"))) {
throw new ApiException(I18nUtil._("合作协议上传失败!"));
}
@ -590,14 +633,12 @@ public class LakalaPayServiceImpl implements LakalaPayService {
String entrustFilePath = fileUploadResp.getStr("attFileId");
req.setEntrustFilePath(entrustFilePath);
String retUrl = projectDomain + "/mobile/pay/lakala/ledger/applyLedgerMerReceiverBindNotify";
req.setRetUrl(retUrl);
paramsJSON.set("orderNo", orderNo);
paramsJSON.set("version", "2.0");
paramsJSON.set("ret_url", retUrl);
paramsJSON.set("org_code", orgCode);
paramsJSON.set("entrust_file_name", entrustFilePath);
paramsJSON.set("entrust_file_name", fileName);
paramsJSON.set("entrust_file_path", entrustFilePath);
try {
//3. 发送请求
@ -606,18 +647,15 @@ public class LakalaPayServiceImpl implements LakalaPayService {
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
if (lakalaRespJSON == null || !lakalaRespJSON.getStr("retCode").equals("000000")) {
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("remark", lakalaRespJSON.getStr("retMsg"));
paramsJSON.set("audit_status_text", paramsJSON.get("remark"));
// 新增数据
// JSON 对象的键名转换为下划线命名
LklLedgerMerReceiverBind lklLedgerMerReceiverBind = JSONUtil.toBean(StringUtils.convertCamelToSnake(paramsJSON.toString()), LklLedgerMerReceiverBind.class);
lklLedgerMerReceiverBindService.saveOrUpdateByReceiverNo(lklLedgerMerReceiverBind);
lklLedgerMerReceiverBindService.saveOrUpdateByMerCupNoReceiverNo(lklLedgerMerReceiverBind);
return CommonResult.success(null, "提交成功,待审核中!");
} catch (SDKException e) {
@ -635,7 +673,30 @@ public class LakalaPayServiceImpl implements LakalaPayService {
*/
@Override
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;
}

View File

@ -8,14 +8,18 @@
package com.suisung.mall.pay.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
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.core.web.service.impl.BaseServiceImpl;
import com.suisung.mall.pay.mapper.LklLedgerMemberMapper;
import com.suisung.mall.pay.service.LklLedgerMemberService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
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.eq("mer_cup_no", record.getMer_cup_no());
LklLedgerMember existsRecord = getOne(queryWrapper);
if (existsRecord != null) {
List<LklLedgerMember> existsRecordList = list(queryWrapper);
if (!CollectionUtil.isEmpty(existsRecordList)
&& existsRecordList.get(0) != null
&& existsRecordList.get(0).getId() > 0) {
// update
record.setId(existsRecord.getId());
record.setId(existsRecordList.get(0).getId());
return updateById(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);
}
}

View File

@ -8,14 +8,18 @@
package com.suisung.mall.pay.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
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.core.web.service.impl.BaseServiceImpl;
import com.suisung.mall.pay.mapper.LklLedgerMerReceiverBindMapper;
import com.suisung.mall.pay.service.LklLedgerMerReceiverBindService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedgerMerReceiverBindMapper, LklLedgerMerReceiverBind> implements LklLedgerMerReceiverBindService {
/**
@ -25,7 +29,7 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
* @return
*/
@Override
public Boolean saveOrUpdateByReceiverNo(LklLedgerMerReceiverBind record) {
public Boolean saveOrUpdateByMerCupNoReceiverNo(LklLedgerMerReceiverBind record) {
if (record == null || StrUtil.isBlank(record.getReceiver_no())) {
return false;
}
@ -33,13 +37,48 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("mer_cup_no", record.getMer_cup_no());
queryWrapper.eq("receiver_no", record.getReceiver_no());
LklLedgerMerReceiverBind existsRecord = getOne(queryWrapper);
if (existsRecord != null) {
List<LklLedgerMerReceiverBind> existsRecordList = list(queryWrapper);
if (!CollectionUtil.isEmpty(existsRecordList)
&& existsRecordList.get(0) != null
&& existsRecordList.get(0).getId() > 0) {
// update
record.setId(existsRecord.getId());
record.setId(existsRecordList.get(0).getId());
return updateById(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);
}
}

View File

@ -8,6 +8,7 @@
package com.suisung.mall.pay.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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 org.springframework.stereotype.Service;
import java.util.List;
@Service
public class LklLedgerReceiverServiceImpl extends BaseServiceImpl<LklLedgerReceiverMapper, LklLedgerReceiver> implements LklLedgerReceiverService {
/**
@ -26,16 +29,24 @@ public class LklLedgerReceiverServiceImpl extends BaseServiceImpl<LklLedgerRecei
*/
@Override
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;
}
QueryWrapper<LklLedgerReceiver> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("receiver_no", record.getReceiver_no());
LklLedgerReceiver existsRecord = getOne(queryWrapper);
if (existsRecord != null) {
if (StrUtil.isNotBlank(record.getLicense_no())) {
queryWrapper.eq("license_no", record.getLicense_no());
}
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
record.setId(existsRecord.getId());
record.setId(existsRecordList.get(0).getId());
return updateById(record);
}

View File

@ -172,7 +172,7 @@ public class PayConsumeTradeServiceImpl extends BaseServiceImpl<PayConsumeTradeM
* @param points 积分支付,此处为积分转换的支付额度
* @param credit 信用支付
* @param redpack 红包支付
* todo 没有增量更新数据
* todo 没有增量更新数据
*/
// todo 优化逻辑
@Override

View File

@ -69,7 +69,7 @@ public class ShopBaseStateCodeServiceImpl extends BaseServiceImpl<ShopBaseStateC
/**
* @param code
* @param type 默认值 "state_code_code"
* todo 加缓存
* todo 加缓存
*/
@Override
public String getCode(Integer code, String type) {