优化 分账接收方绑定
This commit is contained in:
parent
422bd92f4a
commit
d8b068e14f
@ -92,6 +92,15 @@ public interface LklLedgerMerReceiverBindService extends IBaseService<LklLedgerM
|
||||
*/
|
||||
Boolean updateAuditResult(String applyId, String merInnerNo, String merCupNo, String receiverNo, String entrustFileName, String entrustFilePath, String auditStatus, String auditStatusText, String remark);
|
||||
|
||||
/**
|
||||
* 根据入驻号和商户编号查询商户分账接收方绑定记录
|
||||
*
|
||||
* @param mchId 商户ID
|
||||
* @param merCupNo 商户银联编号
|
||||
* @return 删除成功返回true,失败返回false
|
||||
*/
|
||||
List<LklLedgerMerReceiverBind> selectByMchIdAndMerCupNo(Long mchId, String merCupNo);
|
||||
|
||||
/**
|
||||
* 根据入驻编号和商户编号删除商户分账接收方绑定记录
|
||||
*
|
||||
|
||||
@ -403,7 +403,6 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
// TODO 电子合同已签署完成(但有一些错误的信息),这种情况,需要怎么处理?
|
||||
// 办法:重新再签署合同,更新拉卡拉的电子合同信息到商家入驻表中
|
||||
|
||||
// return Pair.of(true, I18nUtil._("已提交进件申请,请等待机构审核!"));
|
||||
log.info("商户:{} 电子合同已签署过,重新提交将被覆盖!", mchId);
|
||||
}
|
||||
|
||||
@ -665,7 +664,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
paramsJSON.put("splitEntrustFilePath", splitEntrustFilePath);
|
||||
paramsJSON.put("retUrl", notifyUrl);
|
||||
|
||||
paramsJSON.put("splitLowestRatio", splitLowestRatio);
|
||||
paramsJSON.put("splitLowestRatio", splitLowestRatio); // 商家最低分账比例不低于 20%
|
||||
paramsJSON.put("splitRange", "ALL");
|
||||
paramsJSON.put("settleType", "01");
|
||||
// paramsJSON.put("splitLaunchMode", "MANUAL");
|
||||
@ -896,7 +895,6 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
// @Transactional
|
||||
@Override
|
||||
public JSONObject applyLedgerMerEcNotify(HttpServletRequest request) {
|
||||
log.debug("商户入网电子合同申请回调通知开始");
|
||||
@ -985,7 +983,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
}
|
||||
|
||||
// 更新商家入驻表的合同编号,和签署地址,更改状态
|
||||
shopMchEntryService.updateMerchantLklElectronicContractInfo(mchId, ecNo, paramsJSON.getStr("ecName"), lklLedgerEc.getResult_url(), ecCosFileUrl, eclklFilePath);
|
||||
shopMchEntryService.updateMerchantLklEContractInfo(mchId, ecNo, paramsJSON.getStr("ecName"), lklLedgerEc.getResult_url(), ecCosFileUrl, eclklFilePath);
|
||||
|
||||
// 商家电子合同签署完毕后,收到异步通知,触发拉卡拉商家进件(重要环节)
|
||||
Pair<Boolean, String> resultPair = lklTkService.registrationMerchant(mchId);
|
||||
@ -1496,7 +1494,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
int totalCount = receiverList.size();
|
||||
|
||||
// 清理旧绑定数据
|
||||
lklLedgerMerReceiverBindService.delByMchIdAndMerCupNo(shopMchEntry.getId(), merCupNo);
|
||||
// lklLedgerMerReceiverBindService.delByMchIdAndMerCupNo(shopMchEntry.getId(), merCupNo);
|
||||
|
||||
// 4. 初始化SDK(建议移至类初始化或统一配置)
|
||||
log.debug("初始化拉卡拉SDK");
|
||||
@ -1507,10 +1505,12 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
try {
|
||||
log.debug("开始处理分账接收方绑定,接收方编号: {}", receiver.getReceiver_no());
|
||||
|
||||
String receiverNo = receiver.getReceiver_no();
|
||||
|
||||
// 跳过已存在的绑定关系
|
||||
LklLedgerMerReceiverBind existingBind = lklLedgerMerReceiverBindService.getByCondition(merCupNo, receiver.getReceiver_no());
|
||||
LklLedgerMerReceiverBind existingBind = lklLedgerMerReceiverBindService.getByCondition(merCupNo, receiverNo);
|
||||
if (existingBind != null) {
|
||||
log.info("分账绑定关系已存在,跳过处理:merCupNo={}, receiverNo={}", merCupNo, receiver.getReceiver_no());
|
||||
log.info("分账绑定关系已存在,跳过处理:merCupNo={}, receiverNo={}", merCupNo, receiverNo);
|
||||
successCount++; // 已存在的绑定视为成功
|
||||
continue;
|
||||
}
|
||||
@ -1525,7 +1525,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
request.setVersion("2.0");
|
||||
request.setMerInnerNo(lklLedgerMember.getMer_inner_no());
|
||||
request.setMerCupNo(merCupNo);
|
||||
request.setReceiverNo(receiver.getReceiver_no());
|
||||
request.setReceiverNo(receiverNo);
|
||||
request.setEntrustFileName(entrustFileName);
|
||||
request.setEntrustFilePath(entrustFilePath);
|
||||
request.setRetUrl(retUrl);
|
||||
@ -1546,11 +1546,11 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
}
|
||||
|
||||
String applyId = (String) respJson.getByPath("respData.applyId");
|
||||
log.info("拉卡拉分账接收方绑定申请提交成功,订单号: {},申请ID: {}",
|
||||
orderNo, applyId);
|
||||
log.info("拉卡拉分账接收方绑定申请提交成功,订单号: {},商户号: {},接收方: {},申请ID: {}",
|
||||
orderNo, merCupNo, receiverNo, applyId);
|
||||
|
||||
if (StrUtil.isBlank(applyId)) {
|
||||
log.error("拉卡拉分账接收方绑定申请提交失败,订单号: {},申请ID为空", orderNo);
|
||||
log.error("拉卡拉分账接收方绑定申请提交失败,订单号: {},订单号: {},商户号: {},接收方: {} 申请ID为空", orderNo, merCupNo, receiverNo);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -1558,7 +1558,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
paramsJSON.set("orderNo", orderNo);
|
||||
paramsJSON.set("apply_id", applyId);
|
||||
paramsJSON.set("org_code", orgCode);
|
||||
paramsJSON.set("receiver_no", receiver.getReceiver_no());
|
||||
paramsJSON.set("receiver_no", receiverNo);
|
||||
paramsJSON.set("ret_url", retUrl);
|
||||
paramsJSON.set("remark", respJson.getStr("retMsg"));
|
||||
paramsJSON.set("platform_id", receiver.getPlatform_id());
|
||||
@ -1571,10 +1571,10 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
||||
log.debug("准备保存分账绑定记录");
|
||||
if (lklLedgerMerReceiverBindService.addOrUpdateByMerCupNoReceiverNo(bindRecord)) {
|
||||
successCount++;
|
||||
log.info("分账绑定记录保存成功,订单号: {}", orderNo);
|
||||
log.info("分账绑定记录保存成功,,订单号: {},商户号: {},接收方: {}", orderNo, merCupNo, receiverNo);
|
||||
} else {
|
||||
log.warn("分账绑定记录保存失败,订单号: {},商户号: {},接收方: {}",
|
||||
orderNo, merCupNo, receiver.getReceiver_no());
|
||||
orderNo, merCupNo, receiverNo);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
@ -21,6 +21,7 @@ import com.suisung.mall.shop.lakala.service.LklLedgerMerReceiverBindService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@ -244,7 +245,37 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商户编号删除商户分账接收方绑定记录
|
||||
* 根据入驻号和商户编号查询商户分账接收方绑定记录
|
||||
*
|
||||
* @param mchId 商户ID
|
||||
* @param merCupNo 商户银联编号
|
||||
* @return 符合条件的商户分账接收方绑定记录列表
|
||||
*/
|
||||
@Override
|
||||
public List<LklLedgerMerReceiverBind> selectByMchIdAndMerCupNo(Long mchId, String merCupNo) {
|
||||
log.debug("开始查询商户分账接收方绑定记录,mchId={}, merCupNo={}", mchId, merCupNo);
|
||||
|
||||
if (CheckUtil.isEmpty(mchId) && StrUtil.isBlank(merCupNo)) {
|
||||
log.warn("查询商户分账接收方绑定记录参数校验失败,mchId和merCupNo不能同时为空");
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
try {
|
||||
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("mch_id", mchId)
|
||||
.eq("mer_cup_no", merCupNo);
|
||||
|
||||
List<LklLedgerMerReceiverBind> result = list(queryWrapper);
|
||||
log.debug("查询商户分账接收方绑定记录完成,mchId={}, merCupNo={}, 结果数量={}", mchId, merCupNo, result.size());
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
log.error("查询商户分账接收方绑定记录时发生异常,mchId={}, merCupNo={}", mchId, merCupNo, e);
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据入驻号和商户编号删除商户分账接收方绑定记录
|
||||
*
|
||||
* @param mchId 商户ID
|
||||
* @param merCupNo 商户银联编号
|
||||
@ -261,8 +292,7 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
|
||||
}
|
||||
|
||||
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("mer_cup_no", merCupNo)
|
||||
.eq("mch_id", mchId);
|
||||
queryWrapper.eq("mch_id", mchId).eq("mer_cup_no", merCupNo);
|
||||
|
||||
boolean removeResult = remove(queryWrapper);
|
||||
|
||||
|
||||
@ -227,7 +227,7 @@ public interface ShopMchEntryService {
|
||||
* @param lklElectronicContractFilePath 拉卡拉电子合同文件路径
|
||||
* @return 更新成功返回 true, 失败返回 false
|
||||
*/
|
||||
Boolean updateMerchantLklElectronicContractInfo(Long merchantId, String lklElectronicContractNo, String lklElectronicContractName, String lklElectronicContractResultUrl, String contractDownloadUrl, String lklElectronicContractFilePath);
|
||||
Boolean updateMerchantLklEContractInfo(Long merchantId, String lklElectronicContractNo, String lklElectronicContractName, String lklElectronicContractResultUrl, String contractDownloadUrl, String lklElectronicContractFilePath);
|
||||
|
||||
/**
|
||||
* 更新商家入驻申请的审批状态和审批备注
|
||||
|
||||
@ -1462,7 +1462,7 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
* @return 更新成功返回 true, 失败返回 false
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateMerchantLklElectronicContractInfo(Long merchantId, String lklElectronicContractNo, String lklElectronicContractName, String lklElectronicContractResultUrl, String contractDownloadUrl, String lklElectronicContractFilePath) {
|
||||
public Boolean updateMerchantLklEContractInfo(Long merchantId, String lklElectronicContractNo, String lklElectronicContractName, String lklElectronicContractResultUrl, String contractDownloadUrl, String lklElectronicContractFilePath) {
|
||||
// 1. 参数校验: 确保merchantId和lklElectronicContractNo至少有一个不为空
|
||||
if (ObjectUtil.isEmpty(merchantId) && StrUtil.isBlank(lklElectronicContractNo)) {
|
||||
log.warn("商户ID和拉卡拉电子合同编号都为空, 无法更新");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user