Commit 82c6354e1d2bc8f1ab6e05d9b8f7dd856c05305b

Authored by YunaiV
1 parent 18c9f225

code review:分销逻辑

Showing 13 changed files with 46 additions and 32 deletions
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/api/brokerage/BrokerageApi.java
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.trade.api.brokerage.dto.BrokerageUserDTO; @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.trade.api.brokerage.dto.BrokerageUserDTO;
6 import javax.validation.constraints.NotNull; 6 import javax.validation.constraints.NotNull;
7 import java.time.LocalDateTime; 7 import java.time.LocalDateTime;
8 8
  9 +// TODO @疯狂:是不是不需要这个啦?
9 /** 10 /**
10 * 分销 API 接口 11 * 分销 API 接口
11 * 12 *
@@ -31,6 +32,7 @@ public interface BrokerageApi { @@ -31,6 +32,7 @@ public interface BrokerageApi {
31 */ 32 */
32 default boolean bindUser(@NotNull Long userId, @NotNull Long bindUserId, @NotNull LocalDateTime registerTime) { 33 default boolean bindUser(@NotNull Long userId, @NotNull Long bindUserId, @NotNull LocalDateTime registerTime) {
33 // 注册时间在30秒内的,都算新用户 34 // 注册时间在30秒内的,都算新用户
  35 + // TODO @疯狂:这个要不抽到 service 里哈?
34 boolean isNewUser = LocalDateTimeUtils.afterNow(registerTime.minusSeconds(30)); 36 boolean isNewUser = LocalDateTimeUtils.afterNow(registerTime.minusSeconds(30));
35 return bindUser(userId, bindUserId, isNewUser); 37 return bindUser(userId, bindUserId, isNewUser);
36 } 38 }
@@ -43,5 +45,8 @@ public interface BrokerageApi { @@ -43,5 +45,8 @@ public interface BrokerageApi {
43 * @param isNewUser 是否为新用户 45 * @param isNewUser 是否为新用户
44 * @return 是否绑定 46 * @return 是否绑定
45 */ 47 */
46 - boolean bindUser(@NotNull Long userId, @NotNull Long bindUserId, @NotNull Boolean isNewUser); 48 + boolean bindUser(@NotNull(message = "用户编号不能为空") Long userId,
  49 + @NotNull(message = "推广员编号不能为空") Long bindUserId,
  50 + @NotNull Boolean isNewUser);
  51 +
47 } 52 }
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/brokerage/BrokerageUserTypeEnum.java
@@ -6,6 +6,7 @@ import lombok.Getter; @@ -6,6 +6,7 @@ import lombok.Getter;
6 6
7 import java.util.Arrays; 7 import java.util.Arrays;
8 8
  9 +// TODO @疯狂:是不是搞成层级,类似 level 这样?因为本质上,它是 1 级、2 级、3 级这样的关系哈
9 /** 10 /**
10 * 分销用户类型枚举 11 * 分销用户类型枚举
11 * 12 *
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/BrokerageRecordController.java
@@ -55,10 +55,11 @@ public class BrokerageRecordController { @@ -55,10 +55,11 @@ public class BrokerageRecordController {
55 public CommonResult<PageResult<BrokerageRecordRespVO>> getBrokerageRecordPage(@Valid BrokerageRecordPageReqVO pageVO) { 55 public CommonResult<PageResult<BrokerageRecordRespVO>> getBrokerageRecordPage(@Valid BrokerageRecordPageReqVO pageVO) {
56 PageResult<BrokerageRecordDO> pageResult = brokerageRecordService.getBrokerageRecordPage(pageVO); 56 PageResult<BrokerageRecordDO> pageResult = brokerageRecordService.getBrokerageRecordPage(pageVO);
57 57
  58 + // 查询用户信息
58 Set<Long> userIds = convertSet(pageResult.getList(), BrokerageRecordDO::getUserId); 59 Set<Long> userIds = convertSet(pageResult.getList(), BrokerageRecordDO::getUserId);
59 userIds.addAll(convertList(pageResult.getList(), BrokerageRecordDO::getSourceUserId)); 60 userIds.addAll(convertList(pageResult.getList(), BrokerageRecordDO::getSourceUserId));
60 Map<Long, MemberUserRespDTO> userMap = memberUserApi.getUserMap(userIds); 61 Map<Long, MemberUserRespDTO> userMap = memberUserApi.getUserMap(userIds);
61 - 62 + // 拼接数据
62 return success(BrokerageRecordConvert.INSTANCE.convertPage(pageResult, userMap)); 63 return success(BrokerageRecordConvert.INSTANCE.convertPage(pageResult, userMap));
63 } 64 }
64 65
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/user/AppBrokerageUserMySummaryRespVO.java
@@ -19,7 +19,7 @@ public class AppBrokerageUserMySummaryRespVO { @@ -19,7 +19,7 @@ public class AppBrokerageUserMySummaryRespVO {
19 @Schema(description = "冻结的佣金,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "234") 19 @Schema(description = "冻结的佣金,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "234")
20 private Integer frozenPrice; 20 private Integer frozenPrice;
21 21
22 - @Schema(description = "分销用户数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") 22 + @Schema(description = "分销用户数量(一级)", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
23 private Integer firstBrokerageUserCount; 23 private Integer firstBrokerageUserCount;
24 24
25 @Schema(description = "分销用户数量(二级)", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") 25 @Schema(description = "分销用户数量(二级)", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/record/BrokerageRecordConvert.java
@@ -52,15 +52,12 @@ public interface BrokerageRecordConvert { @@ -52,15 +52,12 @@ public interface BrokerageRecordConvert {
52 52
53 default PageResult<BrokerageRecordRespVO> convertPage(PageResult<BrokerageRecordDO> pageResult, Map<Long, MemberUserRespDTO> userMap) { 53 default PageResult<BrokerageRecordRespVO> convertPage(PageResult<BrokerageRecordDO> pageResult, Map<Long, MemberUserRespDTO> userMap) {
54 PageResult<BrokerageRecordRespVO> result = convertPage(pageResult); 54 PageResult<BrokerageRecordRespVO> result = convertPage(pageResult);
55 -  
56 for (BrokerageRecordRespVO respVO : result.getList()) { 55 for (BrokerageRecordRespVO respVO : result.getList()) {
57 Optional.ofNullable(userMap.get(respVO.getUserId())).ifPresent(user -> 56 Optional.ofNullable(userMap.get(respVO.getUserId())).ifPresent(user ->
58 respVO.setUserNickname(user.getNickname()).setUserAvatar(user.getAvatar())); 57 respVO.setUserNickname(user.getNickname()).setUserAvatar(user.getAvatar()));
59 -  
60 Optional.ofNullable(userMap.get(respVO.getSourceUserId())).ifPresent(user -> 58 Optional.ofNullable(userMap.get(respVO.getSourceUserId())).ifPresent(user ->
61 respVO.setSourceUserNickname(user.getNickname()).setSourceUserAvatar(user.getAvatar())); 59 respVO.setSourceUserNickname(user.getNickname()).setSourceUserAvatar(user.getAvatar()));
62 } 60 }
63 -  
64 return result; 61 return result;
65 } 62 }
66 } 63 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/user/BrokerageUserConvert.java
@@ -35,18 +35,18 @@ public interface BrokerageUserConvert { @@ -35,18 +35,18 @@ public interface BrokerageUserConvert {
35 Map<Long, Long> brokerageUserCountMap, 35 Map<Long, Long> brokerageUserCountMap,
36 Map<Long, UserBrokerageSummaryBO> userOrderSummaryMap) { 36 Map<Long, UserBrokerageSummaryBO> userOrderSummaryMap) {
37 PageResult<BrokerageUserRespVO> result = convertPage(pageResult); 37 PageResult<BrokerageUserRespVO> result = convertPage(pageResult);
38 - for (BrokerageUserRespVO vo : result.getList()) { 38 + for (BrokerageUserRespVO userVO : result.getList()) {
39 // 用户信息 39 // 用户信息
40 - copyTo(userMap.get(vo.getId()), vo); 40 + copyTo(userMap.get(userVO.getId()), userVO);
41 41
42 // 推广用户数量 42 // 推广用户数量
43 - vo.setBrokerageUserCount(MapUtil.getInt(brokerageUserCountMap, vo.getId(), 0)); 43 + userVO.setBrokerageUserCount(MapUtil.getInt(brokerageUserCountMap, userVO.getId(), 0));
44 // 推广订单数量、推广订单金额 44 // 推广订单数量、推广订单金额
45 - Optional<UserBrokerageSummaryBO> orderSummaryOptional = Optional.ofNullable(userOrderSummaryMap.get(vo.getId()));  
46 - vo.setBrokerageOrderCount(orderSummaryOptional.map(UserBrokerageSummaryBO::getCount).orElse(0)) 45 + Optional<UserBrokerageSummaryBO> orderSummaryOptional = Optional.ofNullable(userOrderSummaryMap.get(userVO.getId()));
  46 + userVO.setBrokerageOrderCount(orderSummaryOptional.map(UserBrokerageSummaryBO::getCount).orElse(0))
47 .setBrokerageOrderPrice(orderSummaryOptional.map(UserBrokerageSummaryBO::getPrice).orElse(0)); 47 .setBrokerageOrderPrice(orderSummaryOptional.map(UserBrokerageSummaryBO::getPrice).orElse(0));
48 // todo 已提现次数、已提现金额 48 // todo 已提现次数、已提现金额
49 - vo.setWithdrawCount(0).setWithdrawPrice(0); 49 + userVO.setWithdrawCount(0).setWithdrawPrice(0);
50 } 50 }
51 return result; 51 return result;
52 } 52 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
@@ -279,11 +279,9 @@ public interface TradeOrderConvert { @@ -279,11 +279,9 @@ public interface TradeOrderConvert {
279 TradeOrderDO convert(TradeOrderRemarkReqVO reqVO); 279 TradeOrderDO convert(TradeOrderRemarkReqVO reqVO);
280 280
281 default BrokerageAddReqBO convert(TradeOrderItemDO item, ProductSkuRespDTO sku) { 281 default BrokerageAddReqBO convert(TradeOrderItemDO item, ProductSkuRespDTO sku) {
282 - return new BrokerageAddReqBO().setBizId(String.valueOf(item.getId()))  
283 - .setSourceUserId(item.getUserId()) 282 + return new BrokerageAddReqBO().setBizId(String.valueOf(item.getId())).setSourceUserId(item.getUserId())
284 .setBasePrice(item.getPayPrice() * item.getCount()) 283 .setBasePrice(item.getPayPrice() * item.getCount())
285 - .setFirstFixedPrice(sku.getSubCommissionFirstPrice())  
286 - .setSecondFixedPrice(sku.getSubCommissionSecondPrice())  
287 - .setTitle(BrokerageRecordBizTypeEnum.ORDER.getTitle()); 284 + .setTitle(BrokerageRecordBizTypeEnum.ORDER.getTitle()) // TODO @疯狂:标题类似:木晴冰雪成功购买云时代的JVM原理与实战;茫农成功购买深入拆解消息队列47讲
  285 + .setFirstFixedPrice(sku.getSubCommissionFirstPrice()).setSecondFixedPrice(sku.getSubCommissionSecondPrice());
288 } 286 }
289 } 287 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/brokerage/record/BrokerageRecordDO.java
@@ -85,13 +85,13 @@ public class BrokerageRecordDO extends BaseDO { @@ -85,13 +85,13 @@ public class BrokerageRecordDO extends BaseDO {
85 /** 85 /**
86 * 来源用户类型 86 * 来源用户类型
87 * <p> 87 * <p>
88 - * 枚举 {@link BrokerageUserTypeEnum} 88 + * 枚举 {@link BrokerageUserTypeEnum},被推广用户和 {@link #userId} 的推广层级关系
89 */ 89 */
90 private Integer sourceUserType; 90 private Integer sourceUserType;
91 /** 91 /**
92 * 来源用户编号 92 * 来源用户编号
93 * <p> 93 * <p>
94 - * 关联 MemberUserDO.id 94 + * 关联 MemberUserDO.id 字段,被推广用户的编号
95 */ 95 */
96 private Long sourceUserId; 96 private Long sourceUserId;
97 97
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/record/BrokerageRecordMapper.java
@@ -26,7 +26,7 @@ public interface BrokerageRecordMapper extends BaseMapperX&lt;BrokerageRecordDO&gt; { @@ -26,7 +26,7 @@ public interface BrokerageRecordMapper extends BaseMapperX&lt;BrokerageRecordDO&gt; {
26 default PageResult<BrokerageRecordDO> selectPage(BrokerageRecordPageReqVO reqVO) { 26 default PageResult<BrokerageRecordDO> selectPage(BrokerageRecordPageReqVO reqVO) {
27 boolean sourceUserTypeCondition = reqVO.getSourceUserType() != null && 27 boolean sourceUserTypeCondition = reqVO.getSourceUserType() != null &&
28 !BrokerageUserTypeEnum.ALL.getType().equals(reqVO.getSourceUserType()); 28 !BrokerageUserTypeEnum.ALL.getType().equals(reqVO.getSourceUserType());
29 - 29 + // 分页查询
30 return selectPage(reqVO, new LambdaQueryWrapperX<BrokerageRecordDO>() 30 return selectPage(reqVO, new LambdaQueryWrapperX<BrokerageRecordDO>()
31 .eqIfPresent(BrokerageRecordDO::getUserId, reqVO.getUserId()) 31 .eqIfPresent(BrokerageRecordDO::getUserId, reqVO.getUserId())
32 .eqIfPresent(BrokerageRecordDO::getBizType, reqVO.getBizType()) 32 .eqIfPresent(BrokerageRecordDO::getBizType, reqVO.getBizType())
@@ -54,7 +54,8 @@ public interface BrokerageRecordMapper extends BaseMapperX&lt;BrokerageRecordDO&gt; { @@ -54,7 +54,8 @@ public interface BrokerageRecordMapper extends BaseMapperX&lt;BrokerageRecordDO&gt; {
54 BrokerageRecordDO::getUserId, userId); 54 BrokerageRecordDO::getUserId, userId);
55 } 55 }
56 56
57 - @Select("SELECT COUNT(1), SUM(price) FROM trade_brokerage_record WHERE user_id = #{userId} AND biz_type = #{bizType} AND status = #{status}") 57 + @Select("SELECT COUNT(1), SUM(price) FROM trade_brokerage_record " +
  58 + "WHERE user_id = #{userId} AND biz_type = #{bizType} AND status = #{status}")
58 UserBrokerageSummaryBO selectCountAndSumPriceByUserIdAndBizTypeAndStatus(@Param("userId") Long userId, 59 UserBrokerageSummaryBO selectCountAndSumPriceByUserIdAndBizTypeAndStatus(@Param("userId") Long userId,
59 @Param("bizType") Integer bizType, 60 @Param("bizType") Integer bizType,
60 @Param("status") Integer status); 61 @Param("status") Integer status);
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/user/BrokerageUserMapper.java
@@ -36,8 +36,9 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; { @@ -36,8 +36,9 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; {
36 } else if (BrokerageUserTypeEnum.SECOND.getType().equals(reqVO.getUserType())) { 36 } else if (BrokerageUserTypeEnum.SECOND.getType().equals(reqVO.getUserType())) {
37 buildSecondBindUserCondition(reqVO.getBindUserId(), wrapper); 37 buildSecondBindUserCondition(reqVO.getBindUserId(), wrapper);
38 } else { 38 } else {
  39 + // TODO @疯狂:要不要把这个逻辑,挪到 Service 里,算出子用户有哪些,然后 IN?
39 buildFirstBindUserCondition(reqVO.getBindUserId(), wrapper); 40 buildFirstBindUserCondition(reqVO.getBindUserId(), wrapper);
40 - buildSecondBindUserCondition(reqVO.getBindUserId(), wrapper.or()); 41 + buildSecondBindUserCondition(reqVO.getBindUserId(), wrapper.or()); // 通过 or 实现多个条件
41 } 42 }
42 } 43 }
43 44
@@ -45,8 +46,8 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; { @@ -45,8 +46,8 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; {
45 wrapper.eq(BrokerageUserDO::getBindUserId, bindUserId); 46 wrapper.eq(BrokerageUserDO::getBindUserId, bindUserId);
46 } 47 }
47 48
48 - static void buildSecondBindUserCondition(Long bindUserId, LambdaQueryWrapper<BrokerageUserDO> w) {  
49 - w.inSql(BrokerageUserDO::getBindUserId, StrUtil.format("SELECT id FROM trade_brokerage_user WHERE bind_user_id = {}", bindUserId)); 49 + static void buildSecondBindUserCondition(Long bindUserId, LambdaQueryWrapper<BrokerageUserDO> wrapper) {
  50 + wrapper.inSql(BrokerageUserDO::getBindUserId, StrUtil.format("SELECT id FROM trade_brokerage_user WHERE bind_user_id = {}", bindUserId));
50 } 51 }
51 52
52 /** 53 /**
@@ -142,4 +143,5 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; { @@ -142,4 +143,5 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; {
142 143
143 @Select("SELECT COUNT(1) from trade_brokerage_user WHERE bind_user_id IN (SELECT id FROM trade_brokerage_user WHERE bind_user_id = #{bindUserId})") 144 @Select("SELECT COUNT(1) from trade_brokerage_user WHERE bind_user_id IN (SELECT id FROM trade_brokerage_user WHERE bind_user_id = #{bindUserId})")
144 Long selectCountByBindUserIdInBindUserId(Long bindUserId); 145 Long selectCountByBindUserIdInBindUserId(Long bindUserId);
  146 +
145 } 147 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/bo/BrokerageAddReqBO.java
@@ -5,6 +5,7 @@ import lombok.Data; @@ -5,6 +5,7 @@ import lombok.Data;
5 import lombok.NoArgsConstructor; 5 import lombok.NoArgsConstructor;
6 6
7 import javax.validation.constraints.NotBlank; 7 import javax.validation.constraints.NotBlank;
  8 +import javax.validation.constraints.NotEmpty;
8 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
9 10
10 /** 11 /**
@@ -30,6 +31,7 @@ public class BrokerageAddReqBO { @@ -30,6 +31,7 @@ public class BrokerageAddReqBO {
30 /** 31 /**
31 * 一级佣金(固定) 32 * 一级佣金(固定)
32 */ 33 */
  34 + @NotNull(message = "一级佣金(固定)不能为空")
33 private Integer firstFixedPrice; 35 private Integer firstFixedPrice;
34 /** 36 /**
35 * 二级佣金(固定) 37 * 二级佣金(固定)
@@ -39,10 +41,13 @@ public class BrokerageAddReqBO { @@ -39,10 +41,13 @@ public class BrokerageAddReqBO {
39 /** 41 /**
40 * 来源用户编号 42 * 来源用户编号
41 */ 43 */
  44 + @NotNull(message = "来源用户编号不能为空")
42 private Long sourceUserId; 45 private Long sourceUserId;
43 46
44 /** 47 /**
45 * 佣金记录标题 48 * 佣金记录标题
46 */ 49 */
  50 + @NotEmpty(message = "佣金记录标题不能为空")
47 private String title; 51 private String title;
  52 +
48 } 53 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/BrokerageRecordServiceImpl.java
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.trade.service.brokerage.record; @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.trade.service.brokerage.record;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.BooleanUtil; 4 import cn.hutool.core.util.BooleanUtil;
5 import cn.hutool.core.util.ObjectUtil; 5 import cn.hutool.core.util.ObjectUtil;
  6 +import cn.hutool.core.util.StrUtil;
6 import cn.hutool.extra.spring.SpringUtil; 7 import cn.hutool.extra.spring.SpringUtil;
7 import cn.iocoder.yudao.framework.common.pojo.PageResult; 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 import cn.iocoder.yudao.framework.common.util.number.MoneyUtils; 9 import cn.iocoder.yudao.framework.common.util.number.MoneyUtils;
@@ -154,21 +155,24 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService { @@ -154,21 +155,24 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
154 int totalBrokerage = 0; 155 int totalBrokerage = 0;
155 List<BrokerageRecordDO> records = new ArrayList<>(); 156 List<BrokerageRecordDO> records = new ArrayList<>();
156 for (BrokerageAddReqBO item : list) { 157 for (BrokerageAddReqBO item : list) {
157 - Integer fixedPrice = 0; 158 + // 计算金额
  159 + Integer fixedPrice;
158 if (BrokerageUserTypeEnum.FIRST.equals(sourceUserType)) { 160 if (BrokerageUserTypeEnum.FIRST.equals(sourceUserType)) {
159 fixedPrice = item.getFirstFixedPrice(); 161 fixedPrice = item.getFirstFixedPrice();
160 } else if (BrokerageUserTypeEnum.SECOND.equals(sourceUserType)) { 162 } else if (BrokerageUserTypeEnum.SECOND.equals(sourceUserType)) {
161 fixedPrice = item.getSecondFixedPrice(); 163 fixedPrice = item.getSecondFixedPrice();
  164 + } else {
  165 + throw new IllegalArgumentException(StrUtil.format("来源用户({}) 不合法", sourceUserType));
162 } 166 }
163 -  
164 - int brokeragePerItem = calculatePrice(item.getBasePrice(), brokeragePercent, fixedPrice);  
165 - if (brokeragePerItem <= 0) { 167 + int brokeragePrice = calculatePrice(item.getBasePrice(), brokeragePercent, fixedPrice);
  168 + if (brokeragePrice <= 0) {
166 continue; 169 continue;
167 } 170 }
  171 + totalBrokerage += brokeragePrice;
  172 + // 创建记录实体
168 records.add(BrokerageRecordConvert.INSTANCE.convert(user, bizType, item.getBizId(), 173 records.add(BrokerageRecordConvert.INSTANCE.convert(user, bizType, item.getBizId(),
169 - brokerageFrozenDays, brokeragePerItem, unfreezeTime, item.getTitle(), 174 + brokerageFrozenDays, brokeragePrice, unfreezeTime, item.getTitle(),
170 item.getSourceUserId(), sourceUserType.getType())); 175 item.getSourceUserId(), sourceUserType.getType()));
171 - totalBrokerage += brokeragePerItem;  
172 } 176 }
173 if (CollUtil.isEmpty(records)) { 177 if (CollUtil.isEmpty(records)) {
174 return; 178 return;
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/user/BrokerageUserServiceImpl.java
@@ -134,7 +134,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService { @@ -134,7 +134,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
134 @Override 134 @Override
135 public Long getBrokerageUserCountByBindUserId(Long bindUserId, BrokerageUserTypeEnum userType) { 135 public Long getBrokerageUserCountByBindUserId(Long bindUserId, BrokerageUserTypeEnum userType) {
136 switch (userType) { 136 switch (userType) {
137 - case ALL: 137 + case ALL: // TODO @疯狂:ALL 是不是不用搞个枚举,默认为空就是不过滤哈~
138 Long firstCount = brokerageUserMapper.selectCountByBindUserId(bindUserId); 138 Long firstCount = brokerageUserMapper.selectCountByBindUserId(bindUserId);
139 Long secondCount = brokerageUserMapper.selectCountByBindUserIdInBindUserId(bindUserId); 139 Long secondCount = brokerageUserMapper.selectCountByBindUserIdInBindUserId(bindUserId);
140 return firstCount + secondCount; 140 return firstCount + secondCount;
@@ -183,7 +183,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService { @@ -183,7 +183,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
183 public Boolean getUserBrokerageEnabled(Long userId) { 183 public Boolean getUserBrokerageEnabled(Long userId) {
184 // 全局分销功能是否开启 184 // 全局分销功能是否开启
185 TradeConfigDO tradeConfig = tradeConfigService.getTradeConfig(); 185 TradeConfigDO tradeConfig = tradeConfigService.getTradeConfig();
186 - if (tradeConfig == null || !BooleanUtil.isTrue(tradeConfig.getBrokerageEnabled())) { 186 + if (tradeConfig == null || BooleanUtil.isFalse(tradeConfig.getBrokerageEnabled())) {
187 return false; 187 return false;
188 } 188 }
189 189