分账金额的计算逻辑更改,分账接收方和代理商的关系更正
This commit is contained in:
parent
1070a9c9fd
commit
54b0cae1c1
@ -115,4 +115,10 @@ public class CommonConstant {
|
|||||||
public static final int SeparateCalcMode_CanSeparateAmt = 2;
|
public static final int SeparateCalcMode_CanSeparateAmt = 2;
|
||||||
|
|
||||||
|
|
||||||
|
// 代理商等级:0-平台方;1-一级代理;2-二级代理;
|
||||||
|
public static final Integer Agent_Level_Plat = 0;
|
||||||
|
public static final Integer Agent_Level_1st = 1;
|
||||||
|
public static final Integer Agent_Level_2nd = 2;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ -45,6 +46,9 @@ public class LklLedgerMerReceiverBind implements Serializable {
|
|||||||
private String audit_status;
|
private String audit_status;
|
||||||
private String audit_status_text;
|
private String audit_status_text;
|
||||||
private String remark;
|
private String remark;
|
||||||
|
private Integer level;
|
||||||
|
private BigDecimal split_ratio;
|
||||||
|
private Integer shipping_fee;
|
||||||
private String version;
|
private String version;
|
||||||
private Date created_at;
|
private Date created_at;
|
||||||
private Date updated_at;
|
private Date updated_at;
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ -54,6 +55,9 @@ public class LklLedgerReceiver implements Serializable {
|
|||||||
private String attach_list;
|
private String attach_list;
|
||||||
private String settle_type;
|
private String settle_type;
|
||||||
private Long platform_id;
|
private Long platform_id;
|
||||||
|
private Integer level;
|
||||||
|
private BigDecimal split_ratio;
|
||||||
|
private Integer shipping_fee;
|
||||||
private String version;
|
private String version;
|
||||||
private Integer status;
|
private Integer status;
|
||||||
private Date created_at;
|
private Date created_at;
|
||||||
|
|||||||
@ -51,6 +51,30 @@ public interface LklLedgerMerReceiverBindService extends IBaseService<LklLedgerM
|
|||||||
*/
|
*/
|
||||||
LklLedgerMerReceiverBind getPlatformByMerCupNo(String merCupNo);
|
LklLedgerMerReceiverBind getPlatformByMerCupNo(String merCupNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商户编号查询商户的代理商绑定列表记录
|
||||||
|
*
|
||||||
|
* @param merCupNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<LklLedgerMerReceiverBind> selectAgentByMerCupNo(String merCupNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商户编号查询商户的一级代理商绑定记录
|
||||||
|
*
|
||||||
|
* @param merCupNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
LklLedgerMerReceiverBind getAgent1stByMerCupNo(String merCupNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商户编号查询商户的二级代理商绑定记录
|
||||||
|
*
|
||||||
|
* @param merCupNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
LklLedgerMerReceiverBind getAgent2ndByMerCupNo(String merCupNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据申请编号查询一条平台绑定记录
|
* 根据申请编号查询一条平台绑定记录
|
||||||
*
|
*
|
||||||
@ -59,14 +83,6 @@ public interface LklLedgerMerReceiverBindService extends IBaseService<LklLedgerM
|
|||||||
*/
|
*/
|
||||||
LklLedgerMerReceiverBind getMerReceiverByApplyId(String applyId);
|
LklLedgerMerReceiverBind getMerReceiverByApplyId(String applyId);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据商户编号查询一条代理商绑定记录
|
|
||||||
*
|
|
||||||
* @param merCupNo
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<LklLedgerMerReceiverBind> selectDistributorByMerCupNo(String merCupNo);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断商户是否已经绑定了分账接收方
|
* 判断商户是否已经绑定了分账接收方
|
||||||
|
|||||||
@ -2274,7 +2274,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
BigDecimal distributorSplitRatio = BigDecimal.ZERO;
|
BigDecimal distributorSplitRatio = BigDecimal.ZERO;
|
||||||
BigDecimal platformSplitRatio = BigDecimal.ONE;
|
BigDecimal platformSplitRatio = BigDecimal.ONE;
|
||||||
// 分账代理商接收方信息
|
// 分账代理商接收方信息
|
||||||
List<LklLedgerMerReceiverBind> distributorReceivers = lklLedgerMerReceiverBindService.selectDistributorByMerCupNo(merchantNo);
|
List<LklLedgerMerReceiverBind> distributorReceivers = lklLedgerMerReceiverBindService.selectAgentByMerCupNo(merchantNo);
|
||||||
if (distributorReceivers != null && !distributorReceivers.isEmpty()) {
|
if (distributorReceivers != null && !distributorReceivers.isEmpty()) {
|
||||||
distributorSplitRatio = new BigDecimal("0.8");
|
distributorSplitRatio = new BigDecimal("0.8");
|
||||||
platformSplitRatio = new BigDecimal("0.2");
|
platformSplitRatio = new BigDecimal("0.2");
|
||||||
@ -2478,7 +2478,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
log.info("[分账操作] 查询拉卡拉可分账余额接口:lklMerchantNo={} logDate={} receiveLogNo={} 结果:{}",
|
log.info("[分账操作] 查询拉卡拉可分账余额接口:lklMerchantNo={} logDate={} receiveLogNo={} 结果:{}",
|
||||||
lklMerchantNo, shopOrderLkl.getLkl_log_date(), receiveLogNo, mchCanSplitAmt);
|
lklMerchantNo, shopOrderLkl.getLkl_log_date(), receiveLogNo, mchCanSplitAmt);
|
||||||
|
|
||||||
// 可分账金额
|
// 拉卡拉返回的实际可分账金额
|
||||||
refCanSeparateAmt = Convert.toInt(mchCanSplitAmt.getSecond());
|
refCanSeparateAmt = Convert.toInt(mchCanSplitAmt.getSecond());
|
||||||
if (CheckUtil.isEmpty(refCanSeparateAmt)) {
|
if (CheckUtil.isEmpty(refCanSeparateAmt)) {
|
||||||
log.warn("[分账操作] lklMerchantNo={} receiveTradeNo={} receiveLogNo={} 拉卡拉可分账金额无值或0,系统将自动计算可分账金额",
|
log.warn("[分账操作] lklMerchantNo={} receiveTradeNo={} receiveLogNo={} 拉卡拉可分账金额无值或0,系统将自动计算可分账金额",
|
||||||
@ -2509,19 +2509,21 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
return Pair.of(false, "平台方未绑定账户");
|
return Pair.of(false, "平台方未绑定账户");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取代理商分账信息
|
|
||||||
BigDecimal platformSplitRatio = BigDecimal.valueOf(0.01); // 默认平台比例 1%
|
|
||||||
BigDecimal agent2ndSplitRatio = null;
|
|
||||||
|
|
||||||
// 代理商绑定列表
|
// 获取代理商分账信息
|
||||||
List<LklLedgerMerReceiverBind> lklLedgerMerReceiverBindList = lklLedgerMerReceiverBindService.selectDistributorByMerCupNo(merchantNo);
|
BigDecimal platformSplitRatio = CheckUtil.isEmpty(platformReceiver.getSplit_ratio()) ? BigDecimal.valueOf(0.01) : platformReceiver.getSplit_ratio(); // 默认平台比例 1%
|
||||||
if (CollUtil.isNotEmpty(lklLedgerMerReceiverBindList)) {
|
|
||||||
// 县级代理商比例值 = 1-商家比例值-平台比例值
|
LklLedgerMerReceiverBind agent1stReceiver = lklLedgerMerReceiverBindService.getAgent1stByMerCupNo(merchantNo);
|
||||||
agent2ndSplitRatio = BigDecimal.ONE.subtract(mchSplitRatio).subtract(platformSplitRatio);
|
LklLedgerMerReceiverBind agent2ndReceiver = lklLedgerMerReceiverBindService.getAgent2ndByMerCupNo(merchantNo);
|
||||||
log.debug("[分账操作] 检测到代理商存在,调整分账比例: 代理商比例={}, 平台比例={}", agent2ndSplitRatio, platformSplitRatio);
|
|
||||||
} else {
|
BigDecimal agent1stSplitRatio = null;
|
||||||
// 平台比例值 = 1-商家比例值
|
BigDecimal agent2ndSplitRatio = null;
|
||||||
platformSplitRatio = BigDecimal.ONE.subtract(mchSplitRatio);
|
if (agent1stReceiver != null) {
|
||||||
|
agent1stSplitRatio = CheckUtil.isEmpty(agent1stReceiver.getSplit_ratio()) ? BigDecimal.ZERO : agent1stReceiver.getSplit_ratio(); // 默认省级比例
|
||||||
|
}
|
||||||
|
|
||||||
|
if (agent2ndReceiver != null) {
|
||||||
|
agent2ndSplitRatio = CheckUtil.isEmpty(agent2ndReceiver.getSplit_ratio()) ? BigDecimal.ZERO : agent2ndReceiver.getSplit_ratio(); // 默认市级比例
|
||||||
}
|
}
|
||||||
|
|
||||||
// 内部配送费(单位:分)
|
// 内部配送费(单位:分)
|
||||||
@ -2533,7 +2535,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
shoppingFeeInner,
|
shoppingFeeInner,
|
||||||
mchSplitRatio,
|
mchSplitRatio,
|
||||||
platformSplitRatio,
|
platformSplitRatio,
|
||||||
null, agent2ndSplitRatio, refCanSeparateAmt);
|
agent1stSplitRatio, agent2ndSplitRatio, refCanSeparateAmt);
|
||||||
|
|
||||||
if (calcResult == null || !calcResult.getFirst() || calcResult.getSecond() == null) {
|
if (calcResult == null || !calcResult.getFirst() || calcResult.getSecond() == null) {
|
||||||
log.error("[分账操作] 分账参数评估,结果无法分账");
|
log.error("[分账操作] 分账参数评估,结果无法分账");
|
||||||
@ -2562,15 +2564,15 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
}
|
}
|
||||||
return Pair.of(false, "订单可分账金额低于1分钱");
|
return Pair.of(false, "订单可分账金额低于1分钱");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Integer merchantAmount = lklSeparateDTO.getMchAmount();
|
Integer merchantAmount = lklSeparateDTO.getMchAmount();
|
||||||
Integer platformAmount = lklSeparateDTO.getPlatAmount();
|
Integer platformAmount = lklSeparateDTO.getPlatAmount();
|
||||||
|
Integer agent1stAmount = lklSeparateDTO.getAgent1stAmount();
|
||||||
Integer agent2ndAmount = lklSeparateDTO.getAgent2ndAmount();
|
Integer agent2ndAmount = lklSeparateDTO.getAgent2ndAmount();
|
||||||
|
|
||||||
log.info("[分账操作] 金额计算结果:订单={}, 商户={}, 总金额={}分, 可分金额={}分, 商家比例={}, 商家分得={}分, 平台比例={}, 平台分得={}分, 县级代理商比例={}, 县级代理商分得={}分",
|
log.info("[分账操作] 金额计算结果:订单={}, 商户={}, 总金额={}分, 可分金额={}分, 商家比例={}, 商家分得={}分, 平台比例={}, 平台分得={}分, 省级代理商比例={}, 省级代理商分得={}分, 县级代理商比例={}, 县级代理商分得={}分",
|
||||||
orderId, merchantNo, shopOrderLkl.getTotal_amt(), refCanSeparateAmt, mchSplitRatio, merchantAmount,
|
orderId, merchantNo, shopOrderLkl.getTotal_amt(), refCanSeparateAmt, mchSplitRatio, merchantAmount,
|
||||||
platformSplitRatio, platformAmount, agent2ndSplitRatio, agent2ndAmount);
|
platformSplitRatio, platformAmount, agent1stSplitRatio, agent1stAmount, agent2ndSplitRatio, agent2ndAmount);
|
||||||
|
|
||||||
// 构建分账接收方分账列表参数
|
// 构建分账接收方分账列表参数
|
||||||
List<V3SacsSeparateRecvDatas> recvDatas = new ArrayList<>();
|
List<V3SacsSeparateRecvDatas> recvDatas = new ArrayList<>();
|
||||||
@ -2578,7 +2580,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
if (CheckUtil.isNotEmpty(merchantAmount)) {
|
if (CheckUtil.isNotEmpty(merchantAmount)) {
|
||||||
V3SacsSeparateRecvDatas receiver = new V3SacsSeparateRecvDatas();
|
V3SacsSeparateRecvDatas receiver = new V3SacsSeparateRecvDatas();
|
||||||
receiver.setRecvMerchantNo(merchantNo);
|
receiver.setRecvMerchantNo(merchantNo);
|
||||||
receiver.setSeparateValue(merchantAmount.toString());
|
receiver.setSeparateValue(Convert.toStr(merchantAmount));
|
||||||
recvDatas.add(receiver);
|
recvDatas.add(receiver);
|
||||||
|
|
||||||
log.debug("[分账操作] 添加商家接收方: merchantNo={}, amount={}", merchantNo, merchantAmount);
|
log.debug("[分账操作] 添加商家接收方: merchantNo={}, amount={}", merchantNo, merchantAmount);
|
||||||
@ -2588,29 +2590,37 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
if (CheckUtil.isNotEmpty(platformAmount)) {
|
if (CheckUtil.isNotEmpty(platformAmount)) {
|
||||||
V3SacsSeparateRecvDatas receiver = new V3SacsSeparateRecvDatas();
|
V3SacsSeparateRecvDatas receiver = new V3SacsSeparateRecvDatas();
|
||||||
receiver.setRecvNo(platformReceiver.getReceiver_no());
|
receiver.setRecvNo(platformReceiver.getReceiver_no());
|
||||||
receiver.setSeparateValue(platformAmount.toString());
|
receiver.setSeparateValue(Convert.toStr(platformAmount));
|
||||||
recvDatas.add(receiver);
|
recvDatas.add(receiver);
|
||||||
|
|
||||||
log.debug("[分账操作] 添加平台接收方: receiverNo={}, amount={}", platformReceiver.getReceiver_no(), platformAmount);
|
log.debug("[分账操作] 添加平台接收方: receiverNo={}, amount={}", platformReceiver.getReceiver_no(), platformAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 省级代理商分账参数
|
||||||
|
if (agent1stReceiver != null && StrUtil.isNotBlank(agent1stReceiver.getReceiver_no()) && CheckUtil.isNotEmpty(agent1stAmount)) {
|
||||||
|
V3SacsSeparateRecvDatas receiver = new V3SacsSeparateRecvDatas();
|
||||||
|
receiver.setRecvNo(agent1stReceiver.getReceiver_no());
|
||||||
|
receiver.setSeparateValue(Convert.toStr(agent1stAmount));
|
||||||
|
recvDatas.add(receiver);
|
||||||
|
|
||||||
|
log.debug("[分账操作] 添加省级代理商接收方: receiverNo={}, amount={}", agent1stReceiver.getReceiver_no(), agent1stAmount);
|
||||||
|
}
|
||||||
|
|
||||||
// 县级代理商分账参数
|
// 县级代理商分账参数
|
||||||
if (CollUtil.isNotEmpty(lklLedgerMerReceiverBindList) && CheckUtil.isNotEmpty(agent2ndAmount)) {
|
if (agent2ndReceiver != null && StrUtil.isNotBlank(agent2ndReceiver.getReceiver_no()) && CheckUtil.isNotEmpty(agent2ndAmount)) {
|
||||||
LklLedgerMerReceiverBind agent2ndReceiver = lklLedgerMerReceiverBindList.get(0);
|
V3SacsSeparateRecvDatas receiver = new V3SacsSeparateRecvDatas();
|
||||||
if (agent2ndReceiver != null && StrUtil.isNotBlank(agent2ndReceiver.getReceiver_no())) {
|
receiver.setRecvNo(agent2ndReceiver.getReceiver_no());
|
||||||
V3SacsSeparateRecvDatas receiver = new V3SacsSeparateRecvDatas();
|
receiver.setSeparateValue(Convert.toStr(agent2ndAmount));
|
||||||
receiver.setRecvNo(agent2ndReceiver.getReceiver_no());
|
recvDatas.add(receiver);
|
||||||
receiver.setSeparateValue(Convert.toStr(agent2ndAmount));
|
|
||||||
recvDatas.add(receiver);
|
|
||||||
|
|
||||||
log.debug("[分账操作] 添加县级代理商接收方: receiverNo={}, amount={}", agent2ndReceiver.getReceiver_no(), agent2ndAmount);
|
log.debug("[分账操作] 添加县级代理商接收方: receiverNo={}, amount={}", agent2ndReceiver.getReceiver_no(), agent2ndAmount);
|
||||||
|
|
||||||
|
// 有县级代理商的时候,配送费暂由它代收 add 2025-10-11
|
||||||
|
V3SacsSeparateRecvDatas shippingFeeReceiver = new V3SacsSeparateRecvDatas();
|
||||||
|
shippingFeeReceiver.setRecvNo(agent2ndReceiver.getReceiver_no());
|
||||||
|
shippingFeeReceiver.setSeparateValue(Convert.toStr(shoppingFeeInner));
|
||||||
|
recvDatas.add(shippingFeeReceiver);
|
||||||
|
|
||||||
// 平台内部配送费,由县级代理商代收 add 2025-10-11
|
|
||||||
V3SacsSeparateRecvDatas shippingFeeReceiver = new V3SacsSeparateRecvDatas();
|
|
||||||
shippingFeeReceiver.setRecvNo(agent2ndReceiver.getReceiver_no());
|
|
||||||
shippingFeeReceiver.setSeparateValue(Convert.toStr(shoppingFeeInner));
|
|
||||||
recvDatas.add(shippingFeeReceiver);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// 没有县级代理商的时候,配送费暂由平台代收 add 2025-10-11
|
// 没有县级代理商的时候,配送费暂由平台代收 add 2025-10-11
|
||||||
V3SacsSeparateRecvDatas shippingFeeReceiver = new V3SacsSeparateRecvDatas();
|
V3SacsSeparateRecvDatas shippingFeeReceiver = new V3SacsSeparateRecvDatas();
|
||||||
|
|||||||
@ -112,44 +112,98 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
|
|||||||
/**
|
/**
|
||||||
* 根据商户编号查询多条平台或代理商记录
|
* 根据商户编号查询多条平台或代理商记录
|
||||||
*
|
*
|
||||||
* @param merCupNo
|
* @param merCupNo 商户银联编号
|
||||||
* @param isPlatform 是否平台
|
* @param isPlatform 是否平台(true:平台, false:代理商, null:不区分)
|
||||||
* @return
|
* @return 符合条件的记录列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<LklLedgerMerReceiverBind> selectListByMerCupNo(String merCupNo, Boolean isPlatform) {
|
public List<LklLedgerMerReceiverBind> selectListByMerCupNo(String merCupNo, Boolean isPlatform) {
|
||||||
if (StrUtil.isBlank(merCupNo)) {
|
if (StrUtil.isBlank(merCupNo)) {
|
||||||
return null;
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("mer_cup_no", merCupNo)
|
queryWrapper.eq("mer_cup_no", merCupNo)
|
||||||
.eq("audit_status", CommonConstant.Enable);
|
.eq("audit_status", CommonConstant.Enable)
|
||||||
if (isPlatform != null && isPlatform) {
|
.orderByAsc("id");
|
||||||
queryWrapper.eq("platform_id", 0);
|
|
||||||
} else if (isPlatform != null && !isPlatform) {
|
if (isPlatform != null) {
|
||||||
queryWrapper.gt("platform_id", 0);
|
if (isPlatform) {
|
||||||
|
queryWrapper.eq("platform_id", 0);
|
||||||
|
} else {
|
||||||
|
queryWrapper.gt("platform_id", 0)
|
||||||
|
.in("level", CommonConstant.Agent_Level_1st, CommonConstant.Agent_Level_2nd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
queryWrapper.orderByAsc("id");
|
|
||||||
|
|
||||||
return list(queryWrapper);
|
return list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据商户编号查询一条平台绑定记录
|
* 根据商户编号查询一条平台绑定记录
|
||||||
*
|
*
|
||||||
* @param merCupNo
|
* @param merCupNo 商户银联编号
|
||||||
* @return
|
* @return 平台绑定记录,不存在时返回null
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public LklLedgerMerReceiverBind getPlatformByMerCupNo(String merCupNo) {
|
public LklLedgerMerReceiverBind getPlatformByMerCupNo(String merCupNo) {
|
||||||
List<LklLedgerMerReceiverBind> list = selectListByMerCupNo(merCupNo, true);
|
List<LklLedgerMerReceiverBind> list = selectListByMerCupNo(merCupNo, true);
|
||||||
if (CollectionUtil.isEmpty(list)) {
|
return CollectionUtil.isEmpty(list) ? null : list.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商户编号查询代理商绑定记录列表
|
||||||
|
*
|
||||||
|
* @param merCupNo 商户银联编号
|
||||||
|
* @return 代理商绑定记录列表,不存在时返回空列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<LklLedgerMerReceiverBind> selectAgentByMerCupNo(String merCupNo) {
|
||||||
|
return selectListByMerCupNo(merCupNo, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商户编号查询一级代理商绑定记录
|
||||||
|
*
|
||||||
|
* @param merCupNo 商户银联编号
|
||||||
|
* @return 一级代理商绑定记录,不存在时返回null
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public LklLedgerMerReceiverBind getAgent1stByMerCupNo(String merCupNo) {
|
||||||
|
if (StrUtil.isBlank(merCupNo)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return list.get(0);
|
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("mer_cup_no", merCupNo)
|
||||||
|
.eq("audit_status", CommonConstant.Enable)
|
||||||
|
.gt("platform_id", 0)
|
||||||
|
.eq("level", CommonConstant.Agent_Level_1st)
|
||||||
|
.orderByAsc("id");
|
||||||
|
|
||||||
|
return findOne(queryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商户编号查询二级代理商绑定记录
|
||||||
|
*
|
||||||
|
* @param merCupNo 商户银联编号
|
||||||
|
* @return 二级代理商绑定记录,不存在时返回null
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public LklLedgerMerReceiverBind getAgent2ndByMerCupNo(String merCupNo) {
|
||||||
|
if (StrUtil.isBlank(merCupNo)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryWrapper<LklLedgerMerReceiverBind> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("mer_cup_no", merCupNo)
|
||||||
|
.eq("audit_status", CommonConstant.Enable)
|
||||||
|
.gt("platform_id", 0)
|
||||||
|
.eq("level", CommonConstant.Agent_Level_2nd)
|
||||||
|
.orderByAsc("id");
|
||||||
|
|
||||||
|
return findOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -170,21 +224,6 @@ public class LklLedgerMerReceiverBindServiceImpl extends BaseServiceImpl<LklLedg
|
|||||||
return findOne(queryWrapper);
|
return findOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据商户编号查询一条代理商绑定记录
|
|
||||||
*
|
|
||||||
* @param merCupNo
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<LklLedgerMerReceiverBind> selectDistributorByMerCupNo(String merCupNo) {
|
|
||||||
List<LklLedgerMerReceiverBind> list = selectListByMerCupNo(merCupNo, false);
|
|
||||||
if (CollectionUtil.isEmpty(list)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断商户是否已经绑定了分账接收方
|
* 判断商户是否已经绑定了分账接收方
|
||||||
|
|||||||
@ -1741,12 +1741,12 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
try {
|
try {
|
||||||
if (!payService.doRefund(returnOrder)) {
|
if (!payService.doRefund(returnOrder)) {
|
||||||
logger.error("执行退款操作失败!退单列表: {}", return_ids);
|
logger.error("执行退款操作失败!退单列表: {}", return_ids);
|
||||||
throw new ApiException("暂无法退款,请稍候再重试!");
|
throw new ApiException("余额不足,请稍后重试");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("执行退款操作异常!退单列表: {}", return_ids, e);
|
logger.error("执行退款操作异常!退单列表: {}", return_ids, e);
|
||||||
// 根据业务需要决定是抛出异常触发回滚,还是其他处理方式
|
// 根据业务需要决定是抛出异常触发回滚,还是其他处理方式
|
||||||
throw new ApiException("暂无法退款,请稍候再重试!");
|
throw new ApiException("余额不足,请稍后重试");
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info("退款操作执行成功,退单列表: {}", return_ids);
|
logger.info("退款操作执行成功,退单列表: {}", return_ids);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user