Merge remote-tracking branch 'origin/master-jdk17' into master-jdk17

This commit is contained in:
YunaiV
2026-09-26 22:43:34 +08:00
4 changed files with 273 additions and 103 deletions
File diff suppressed because it is too large Load Diff
@@ -45,11 +45,12 @@ public interface BrokerageRecordService {
/**
* 增加佣金【多级分佣】
*
* @param userId 会员编号
* @param userId 会员编号 (下单人)
* @param brokerageUserId 订单推广人
* @param bizType 业务类型
* @param list 请求参数列表
*/
void addBrokerage(Long userId, BrokerageRecordBizTypeEnum bizType, @Valid List<BrokerageAddReqBO> list);
void addBrokerage(Long userId, Long brokerageUserId, BrokerageRecordBizTypeEnum bizType, @Valid List<BrokerageAddReqBO> list);
/**
* 增加佣金【只针对自己】
@@ -74,16 +74,17 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
@Override
@Transactional(rollbackFor = Exception.class)
public void addBrokerage(Long userId, BrokerageRecordBizTypeEnum bizType, List<BrokerageAddReqBO> list) {
public void addBrokerage(Long userId, Long brokerageUserId, BrokerageRecordBizTypeEnum bizType,
List<BrokerageAddReqBO> list) {
TradeConfigDO memberConfig = tradeConfigService.getTradeConfig();
// 0 未启用分销功能
if (memberConfig == null || !BooleanUtil.isTrue(memberConfig.getBrokerageEnabled())) {
log.error("[addBrokerage][增加佣金失败:brokerageEnabled 未配置,userId({}) bizType({}) list({})", userId, bizType, list);
log.error("[addBrokerage][增加佣金失败:brokerageEnabled 未配置,userId({}) brokerageUserId({}) bizType({}) list({})", userId, brokerageUserId, bizType, list);
return;
}
// 1.1 获得一级推广人
BrokerageUserDO firstUser = brokerageUserService.getBindBrokerageUser(userId);
BrokerageUserDO firstUser = brokerageUserService.getBrokerageUser(brokerageUserId);
if (firstUser == null || !BooleanUtil.isTrue(firstUser.getBrokerageEnabled())) {
return;
}
@@ -16,9 +16,9 @@ import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum;
import cn.iocoder.yudao.module.trade.service.brokerage.BrokerageRecordService;
import cn.iocoder.yudao.module.trade.service.brokerage.BrokerageUserService;
import cn.iocoder.yudao.module.trade.service.brokerage.bo.BrokerageAddReqBO;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
import jakarta.annotation.Resource;
import java.util.List;
import java.util.Map;
@@ -58,7 +58,7 @@ public class TradeBrokerageOrderHandler implements TradeOrderHandler {
if (order.getBrokerageUserId() == null) {
return;
}
addBrokerage(order.getUserId(), orderItems);
addBrokerage(order.getUserId(), order.getBrokerageUserId(), orderItems);
}
@Override
@@ -97,9 +97,10 @@ public class TradeBrokerageOrderHandler implements TradeOrderHandler {
* 2. 支付 or 下单成功时,创建分销记录(冻结),确认收货解冻或者 n 天后解冻
*
* @param userId 用户编号
* @param brokerageUserId 订单推广人
* @param orderItems 订单项
*/
protected void addBrokerage(Long userId, List<TradeOrderItemDO> orderItems) {
protected void addBrokerage(Long userId, Long brokerageUserId, List<TradeOrderItemDO> orderItems) {
MemberUserRespDTO user = memberUserApi.getUser(userId).getCheckedData();
Assert.notNull(user);
Map<Long, ProductSpuRespDTO> spusMap = productSpuApi.getSpuMap(convertList(orderItems, TradeOrderItemDO::getSpuId));
@@ -113,7 +114,7 @@ public class TradeBrokerageOrderHandler implements TradeOrderHandler {
Assert.notNull(sku);
return TradeOrderConvert.INSTANCE.convert(user, item, spu, sku);
});
brokerageRecordService.addBrokerage(userId, BrokerageRecordBizTypeEnum.ORDER, addList);
brokerageRecordService.addBrokerage(userId, brokerageUserId, BrokerageRecordBizTypeEnum.ORDER, addList);
}
}