Commit 557b09a15773733b7d3c1730059d222b37bfc508

Authored by YunaiV
1 parent 3b5215db

code review:分销逻辑

Showing 16 changed files with 68 additions and 76 deletions
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/api/brokerage/BrokerageApiImpl.java
... ... @@ -20,6 +20,7 @@ public class BrokerageApiImpl implements BrokerageApi {
20 20 @Resource
21 21 private BrokerageUserService brokerageUserService;
22 22  
  23 + @Override
23 24 public BrokerageUserDTO getBrokerageUser(Long userId) {
24 25 return BrokerageUserConvert.INSTANCE.convertDTO(brokerageUserService.getBrokerageUser(userId));
25 26 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/user/BrokerageUserController.java
... ... @@ -62,7 +62,7 @@ public class BrokerageUserController {
62 62 @Operation(summary = "修改推广资格")
63 63 @PreAuthorize("@ss.hasPermission('trade:brokerage-user:update-brokerage-enable')")
64 64 public CommonResult<Boolean> updateBrokerageEnabled(@Valid @RequestBody BrokerageUserUpdateBrokerageEnabledReqVO updateReqVO) {
65   - brokerageUserService.updateBrokerageEnabled(updateReqVO.getId(), updateReqVO.getEnabled());
  65 + brokerageUserService.updateBrokerageUserEnabled(updateReqVO.getId(), updateReqVO.getEnabled());
66 66 return success(true);
67 67 }
68 68  
... ... @@ -89,12 +89,12 @@ public class BrokerageUserController {
89 89 // 合计分佣订单
90 90 Map<Long, UserBrokerageSummaryBO> userOrderSummaryMap = convertMap(userIds,
91 91 userId -> userId,
92   - userId -> brokerageRecordService.summaryByUserIdAndBizTypeAndStatus(userId,
  92 + userId -> brokerageRecordService.getUserBrokerageSummaryByUserId(userId,
93 93 BrokerageRecordBizTypeEnum.ORDER.getType(), BrokerageRecordStatusEnum.SETTLEMENT.getStatus()));
94 94 // 合计推广用户数量
95 95 Map<Long, Long> brokerageUserCountMap = convertMap(userIds,
96 96 userId -> userId,
97   - userId -> brokerageUserService.getCountByBindUserId(userId));
  97 + userId -> brokerageUserService.getBrokerageUserCountByBindUserId(userId));
98 98  
99 99 // todo 合计提现
100 100  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/vo/withdraw/AppBrokerageWithdrawCreateReqVO.java
... ... @@ -23,21 +23,18 @@ public class AppBrokerageWithdrawCreateReqVO {
23 23 @Min(value = 1, message = "提现金额不能小于 1")
24 24 private Integer price;
25 25  
26   -
27 26 // ========== 银行卡、微信、支付宝 提现相关字段 ==========
28 27  
29 28 @Schema(description = "提现账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456789")
30 29 @NotBlank(message = "提现账号不能为空", groups = {Bank.class, Wechat.class, Alipay.class})
31 30 private String accountNo;
32 31  
33   -
34 32 // ========== 微信、支付宝 提现相关字段 ==========
35 33  
36 34 @Schema(description = "收款码的图片", example = "https://www.iocoder.cn/1.png")
37 35 @URL(message = "收款码的图片,必须是一个 URL")
38 36 private String accountQrCodeUrl;
39 37  
40   -
41 38 // ========== 银行卡 提现相关字段 ==========
42 39  
43 40 @Schema(description = "持卡人姓名", example = "张三")
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/record/BrokerageRecordConvert.java
... ... @@ -30,25 +30,21 @@ public interface BrokerageRecordConvert {
30 30  
31 31 PageResult<BrokerageRecordRespVO> convertPage(PageResult<BrokerageRecordDO> page);
32 32  
  33 + // TODO @疯狂:可能 title 不是很固化,会存在类似:沐晴成功购买《XXX JVM 实战》
33 34 default BrokerageRecordDO convert(BrokerageUserDO user, BrokerageRecordBizTypeEnum bizType, String bizId,
34   - Integer brokerageFrozenDays, int brokerage, LocalDateTime unfreezeTime,
  35 + Integer brokerageFrozenDays, int brokeragePrice, LocalDateTime unfreezeTime,
35 36 String title) {
36 37 brokerageFrozenDays = ObjectUtil.defaultIfNull(brokerageFrozenDays, 0);
37 38 // 不冻结时,佣金直接就是结算状态
38 39 Integer status = brokerageFrozenDays > 0
39 40 ? BrokerageRecordStatusEnum.WAIT_SETTLEMENT.getStatus()
40 41 : BrokerageRecordStatusEnum.SETTLEMENT.getStatus();
41   - return new BrokerageRecordDO()
42   - .setUserId(user.getId())
43   - .setBizType(bizType.getType())
44   - .setBizId(bizId)
45   - .setPrice(brokerage)
46   - .setTotalPrice(user.getPrice())
  42 + return new BrokerageRecordDO().setUserId(user.getId())
  43 + .setBizType(bizType.getType()).setBizId(bizId)
  44 + .setPrice(brokeragePrice).setTotalPrice(user.getPrice())
47 45 .setTitle(title)
48   - .setDescription(StrUtil.format(bizType.getDescription(), String.valueOf(brokerage / 100.0)))
49   - .setStatus(status)
50   - .setFrozenDays(brokerageFrozenDays)
51   - .setUnfreezeTime(unfreezeTime);
  46 + .setDescription(StrUtil.format(bizType.getDescription(), String.valueOf(brokeragePrice / 100.0)))
  47 + .setStatus(status).setFrozenDays(brokerageFrozenDays).setUnfreezeTime(unfreezeTime);
52 48 }
53 49  
54 50 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/user/BrokerageUserConvert.java
... ... @@ -37,24 +37,16 @@ public interface BrokerageUserConvert {
37 37 PageResult<BrokerageUserRespVO> result = convertPage(pageResult);
38 38 for (BrokerageUserRespVO vo : result.getList()) {
39 39 // 用户信息
40   - Optional.ofNullable(userMap.get(vo.getId()))
41   - .ifPresent(user -> {
42   - vo.setNickname(user.getNickname());
43   - vo.setAvatar(user.getAvatar());
44   - });
45   -
  40 + Optional.ofNullable(userMap.get(vo.getId())).ifPresent(
  41 + user -> vo.setNickname(user.getNickname()).setAvatar(user.getAvatar()));
46 42 // 推广用户数量(一级)
47 43 vo.setBrokerageUserCount(MapUtil.getInt(brokerageUserCountMap, vo.getId(), 0));
48   -
  44 + // 推广订单数量、推广订单金额
49 45 Optional<UserBrokerageSummaryBO> orderSummaryOptional = Optional.ofNullable(userOrderSummaryMap.get(vo.getId()));
50   - // 推广订单数量
51   - vo.setBrokerageOrderCount(orderSummaryOptional.map(UserBrokerageSummaryBO::getCount).orElse(0));
52   - // 推广订单金额
53   - vo.setBrokerageOrderPrice(orderSummaryOptional.map(UserBrokerageSummaryBO::getPrice).orElse(0));
54   -
55   - // todo 已提现次数
  46 + vo.setBrokerageOrderCount(orderSummaryOptional.map(UserBrokerageSummaryBO::getCount).orElse(0))
  47 + .setBrokerageOrderPrice(orderSummaryOptional.map(UserBrokerageSummaryBO::getPrice).orElse(0));
  48 + // todo 已提现次数、已提现金额
56 49 vo.setWithdrawCount(0);
57   - // todo 已提现金额
58 50 vo.setWithdrawPrice(0);
59 51 }
60 52 return result;
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/record/BrokerageRecordMapper.java
... ... @@ -48,6 +48,7 @@ public interface BrokerageRecordMapper extends BaseMapperX&lt;BrokerageRecordDO&gt; {
48 48 BrokerageRecordDO::getBizId, bizId);
49 49 }
50 50  
  51 + // TODO @疯狂:mysql 关键字,大写哈;这样看起来清晰点;例如说 SELECT COUNT(1)
51 52 @Select("select count(1), sum(price) from trade_brokerage_record where user_id = #{userId} and biz_type = #{bizType} and status = #{status}")
52 53 UserBrokerageSummaryBO selectCountAndSumPriceByUserIdAndBizTypeAndStatus(@Param("userId") Long userId,
53 54 @Param("bizType") Integer bizType,
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/user/BrokerageUserMapper.java
... ... @@ -111,4 +111,5 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; {
111 111 .eq(BrokerageUserDO::getId, id)
112 112 .set(BrokerageUserDO::getBrokerageEnabled, false).set(BrokerageUserDO::getBrokerageTime, null));
113 113 }
  114 +
114 115 }
... ...
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 5 import lombok.NoArgsConstructor;
6 6  
7 7 import javax.validation.constraints.NotBlank;
  8 +import javax.validation.constraints.NotNull;
8 9  
9 10 /**
10 11 * 佣金 增加 Request BO
... ... @@ -24,6 +25,7 @@ public class BrokerageAddReqBO {
24 25 /**
25 26 * 佣金基数
26 27 */
  28 + @NotNull(message = "佣金基数不能为空")
27 29 private Integer basePrice;
28 30 /**
29 31 * 一级佣金(固定)
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/bo/UserBrokerageSummaryBO.java
... ... @@ -13,6 +13,7 @@ import lombok.NoArgsConstructor;
13 13 @NoArgsConstructor
14 14 @AllArgsConstructor
15 15 public class UserBrokerageSummaryBO {
  16 +
16 17 /**
17 18 * 佣金数量
18 19 */
... ... @@ -21,4 +22,5 @@ public class UserBrokerageSummaryBO {
21 22 * 佣金总额
22 23 */
23 24 private Integer price;
  25 +
24 26 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/BrokerageRecordService.java
... ... @@ -66,5 +66,5 @@ public interface BrokerageRecordService {
66 66 * @param status 佣金状态
67 67 * @return 用户佣金汇总
68 68 */
69   - UserBrokerageSummaryBO summaryByUserIdAndBizTypeAndStatus(Long userId, Integer bizType, Integer status);
  69 + UserBrokerageSummaryBO getUserBrokerageSummaryByUserId(Long userId, Integer bizType, Integer status);
70 70 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/BrokerageRecordServiceImpl.java
... ... @@ -89,6 +89,7 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
89 89 @Override
90 90 @Transactional(rollbackFor = Exception.class)
91 91 public void cancelBrokerage(Long userId, BrokerageRecordBizTypeEnum bizType, String bizId) {
  92 + // TODO @疯狂:userId 加进去查询,会不会更好一点?万一穿错参数;
92 93 BrokerageRecordDO record = brokerageRecordMapper.selectByBizTypeAndBizId(bizType.getType(), bizId);
93 94 if (record == null || ObjectUtil.notEqual(record.getUserId(), userId)) {
94 95 log.error("[cancelBrokerage][userId({})][bizId({}) 更新为已失效失败:记录不存在]", userId, bizId);
... ... @@ -138,7 +139,7 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
138 139 * @param list 佣金增加参数列表
139 140 * @param brokerageFrozenDays 冻结天数
140 141 * @param brokeragePercent 佣金比例
141   - * @param fixedPriceFun 固定佣金
  142 + * @param fixedPriceFun 固定佣金 // TODO 疯狂:这里是不是可以直接传递 fixedPrice 呀?
142 143 * @param bizType 业务类型
143 144 */
144 145 private void addBrokerage(BrokerageUserDO user, List<BrokerageAddReqBO> list, Integer brokerageFrozenDays,
... ... @@ -200,9 +201,9 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
200 201 }
201 202  
202 203 @Override
203   - public UserBrokerageSummaryBO summaryByUserIdAndBizTypeAndStatus(Long userId, Integer bizType, Integer status) {
  204 + public UserBrokerageSummaryBO getUserBrokerageSummaryByUserId(Long userId, Integer bizType, Integer status) {
204 205 UserBrokerageSummaryBO summaryBO = brokerageRecordMapper.selectCountAndSumPriceByUserIdAndBizTypeAndStatus(userId, bizType, status);
205   - return summaryBO == null ? new UserBrokerageSummaryBO(0, 0) : summaryBO;
  206 + return summaryBO != null ? summaryBO : new UserBrokerageSummaryBO(0, 0);
206 207 }
207 208  
208 209 @Transactional(rollbackFor = Exception.class)
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/user/BrokerageUserService.java
... ... @@ -52,7 +52,7 @@ public interface BrokerageUserService {
52 52 * @param id 用户编号
53 53 * @param enabled 推广资格
54 54 */
55   - void updateBrokerageEnabled(Long id, Boolean enabled);
  55 + void updateBrokerageUserEnabled(Long id, Boolean enabled);
56 56  
57 57 /**
58 58 * 获得用户的推广人
... ... @@ -79,20 +79,21 @@ public interface BrokerageUserService {
79 79 void updateUserFrozenPrice(Long id, Integer frozenPrice);
80 80  
81 81 /**
82   - * 更新用户冻结佣金(减少), 更新用户佣金(增加)
  82 + * 更新用户冻结佣金(减少),更新用户佣金(增加)
83 83 *
84 84 * @param id 用户编号
85 85 * @param frozenPrice 减少冻结佣金(负数)
86 86 */
87 87 void updateFrozenPriceDecrAndPriceIncr(Long id, Integer frozenPrice);
88 88  
  89 + // TODO @疯狂:这个后面可能要支持下,二级
89 90 /**
90 91 * 获得推广用户数量(一级)
91 92 *
92 93 * @param bindUserId 绑定的推广员编号
93 94 * @return 推广用户数量
94 95 */
95   - Long getCountByBindUserId(Long bindUserId);
  96 + Long getBrokerageUserCountByBindUserId(Long bindUserId);
96 97  
97 98 /**
98 99 * 【会员】绑定推广员
... ... @@ -103,4 +104,5 @@ public interface BrokerageUserService {
103 104 * @return 是否绑定
104 105 */
105 106 boolean bindUser(Long userId, Long bindUserId, Boolean isNewUser);
  107 +
106 108 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/user/BrokerageUserServiceImpl.java
... ... @@ -57,18 +57,22 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
57 57 public void updateBrokerageUserId(Long id, Long bindUserId) {
58 58 // 校验存在
59 59 validateBrokerageUserExists(id);
  60 +
  61 + // 情况一:清除推广员
60 62 if (bindUserId == null) {
61 63 // 清除推广员
62 64 brokerageUserMapper.updateBindUserIdAndBindUserTimeToNull(id);
63   - } else {
64   - // 修改推广员
65   - brokerageUserMapper.updateById(new BrokerageUserDO().setId(id)
66   - .setBindUserId(bindUserId).setBindUserTime(LocalDateTime.now()));
  65 + return;
67 66 }
  67 +
  68 + // 情况二:修改推广员
  69 + // TODO @疯狂:要复用一些 validateCanBindUser 的校验哈;
  70 + brokerageUserMapper.updateById(new BrokerageUserDO().setId(id)
  71 + .setBindUserId(bindUserId).setBindUserTime(LocalDateTime.now()));
68 72 }
69 73  
70 74 @Override
71   - public void updateBrokerageEnabled(Long id, Boolean enabled) {
  75 + public void updateBrokerageUserEnabled(Long id, Boolean enabled) {
72 76 // 校验存在
73 77 validateBrokerageUserExists(id);
74 78 if (BooleanUtil.isTrue(enabled)) {
... ... @@ -124,36 +128,41 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
124 128 }
125 129  
126 130 @Override
127   - public Long getCountByBindUserId(Long bindUserId) {
  131 + public Long getBrokerageUserCountByBindUserId(Long bindUserId) {
  132 + // TODO @疯狂:mapper 封装下哈;不直接在 service 调用这种基础 mapper 的基础方法
128 133 return brokerageUserMapper.selectCount(BrokerageUserDO::getBindUserId, bindUserId);
129 134 }
130 135  
  136 + // TODO @疯狂:因为现在 user 会存在使用验证码直接注册,所以 isNewUser 不太好传递;我们是不是可以约定绑定的时间,createTime 在 30 秒内,就认为新用户;
131 137 @Override
132 138 public boolean bindUser(Long userId, Long bindUserId, Boolean isNewUser) {
  139 + // TODO @疯狂:userId 为空,搞到参数校验里哇;
133 140 if (userId == null) {
134 141 throw exception(0);
135 142 }
136 143  
137   - boolean isInsert = false;
  144 + // 1. 获得分销用户
  145 + boolean isNewBrokerageUser = false;
138 146 BrokerageUserDO brokerageUser = brokerageUserMapper.selectById(userId);
139   - // 分销用户不存在的情况:1.新注册 2.旧数据 3.分销功能关闭后又打开
140   - if (brokerageUser == null) {
141   - isInsert = true;
  147 + if (brokerageUser == null) { // 分销用户不存在的情况:1. 新注册;2. 旧数据;3. 分销功能关闭后又打开
  148 + isNewBrokerageUser = true;
142 149 brokerageUser = new BrokerageUserDO().setId(userId).setBrokerageEnabled(false).setPrice(0).setFrozenPrice(0);
143 150 }
144 151  
145   - // 校验能否绑定
  152 + // 2.1 校验能否绑定
146 153 boolean validated = validateCanBindUser(brokerageUser, bindUserId, isNewUser);
147 154 if (!validated) {
148 155 return false;
149 156 }
150 157  
151   - if (isInsert) {
  158 + // 2.2 绑定用户
  159 + if (isNewBrokerageUser) {
152 160 Integer enabledCondition = tradeConfigService.getTradeConfig().getBrokerageEnabledCondition();
153   - if (BrokerageEnabledConditionEnum.ALL.getCondition().equals(enabledCondition)) {
154   - // 人人分销:用户默认就有分销资格
  161 + if (BrokerageEnabledConditionEnum.ALL.getCondition().equals(enabledCondition)) { // 人人分销:用户默认就有分销资格
  162 + // TODO @疯狂:应该设置下 brokerageTime,而不是 bindUserTime
155 163 brokerageUser.setBrokerageEnabled(true).setBindUserTime(LocalDateTime.now());
156 164 }
  165 + // TODO @疯狂:这里是不是要设置 bindUserId、bindUserTime 字段哈;
157 166 brokerageUserMapper.insert(brokerageUser);
158 167 } else {
159 168 brokerageUserMapper.updateById(new BrokerageUserDO().setId(userId)
... ... @@ -162,14 +171,16 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
162 171 return true;
163 172 }
164 173  
  174 + // TODO @疯狂:validate 方法,一般不返回 true false,而是抛出异常;如果要返回 true false 这种,方法名字可以改成 isUserCanBind
165 175 private boolean validateCanBindUser(BrokerageUserDO user, Long bindUserId, Boolean isNewUser) {
  176 + // TODO @疯狂:bindUserId 为空,搞到参数校验里哇;
166 177 if (bindUserId == null) {
167 178 return false;
168 179 }
169 180  
170 181 // 校验分销功能是否启用
171 182 TradeConfigDO tradeConfig = tradeConfigService.getTradeConfig();
172   - if (tradeConfig == null || !BooleanUtil.isTrue(tradeConfig.getBrokerageEnabled())) {
  183 + if (tradeConfig == null || BooleanUtil.isFalse(tradeConfig.getBrokerageEnabled())) {
173 184 return false;
174 185 }
175 186  
... ... @@ -180,7 +191,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
180 191  
181 192 // 校验要绑定的用户有无推广资格
182 193 BrokerageUserDO bindUser = brokerageUserMapper.selectById(bindUserId);
183   - if (bindUser == null || !BooleanUtil.isTrue(bindUser.getBrokerageEnabled())) {
  194 + if (bindUser == null || BooleanUtil.isFalse(bindUser.getBrokerageEnabled())) {
184 195 throw exception(BROKERAGE_BIND_USER_NOT_ENABLED);
185 196 }
186 197  
... ... @@ -200,6 +211,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
200 211 }
201 212 }
202 213  
  214 + // TODO @疯狂:这块是不是一直查询到根节点,中间不允许出现自己;就是不能形成环。虽然目前是 2 级,但是未来可能会改多级; = = 环的话,就会存在问题哈
203 215 // A->B->A:下级不能绑定自己的上级, A->B->C->A可以!!
204 216 if (Objects.equals(user.getId(), bindUser.getBindUserId())) {
205 217 throw exception(BROKERAGE_BIND_LOOP);
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
... ... @@ -395,7 +395,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
395 395 // 增加用户经验
396 396 getSelf().addUserExperienceAsync(order.getUserId(), order.getPayPrice(), order.getId());
397 397 // 增加用户佣金
398   - getSelf().addBrokerageAsync(order.getUserId(), BrokerageRecordBizTypeEnum.ORDER, order.getId());
  398 + getSelf().addBrokerageAsync(order.getUserId(), order.getId());
399 399 }
400 400  
401 401 /**
... ... @@ -675,7 +675,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
675 675 // 扣减用户经验
676 676 getSelf().reduceUserExperienceAsync(order.getUserId(), orderRefundPrice, afterSaleId);
677 677 // 更新分佣记录为已失效
678   - getSelf().cancelBrokerageAsync(order.getUserId(), BrokerageRecordBizTypeEnum.ORDER, id);
  678 + getSelf().cancelBrokerageAsync(order.getUserId(), id);
679 679 }
680 680  
681 681 @Override
... ... @@ -785,16 +785,16 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
785 785  
786 786  
787 787 @Async
788   - protected void addBrokerageAsync(Long userId, BrokerageRecordBizTypeEnum bizType, Long orderId) {
  788 + protected void addBrokerageAsync(Long userId, Long orderId) {
789 789 List<TradeOrderItemDO> orderItems = tradeOrderItemMapper.selectListByOrderId(orderId);
790 790 List<BrokerageAddReqBO> list = convertList(orderItems,
791 791 item -> TradeOrderConvert.INSTANCE.convert(item, productSkuApi.getSku(item.getSkuId())));
792   - brokerageRecordService.addBrokerage(userId, bizType, list);
  792 + brokerageRecordService.addBrokerage(userId, BrokerageRecordBizTypeEnum.ORDER, list);
793 793 }
794 794  
795 795 @Async
796   - protected void cancelBrokerageAsync(Long userId, BrokerageRecordBizTypeEnum bizType, Long orderItemId) {
797   - brokerageRecordService.cancelBrokerage(userId, bizType, String.valueOf(orderItemId));
  796 + protected void cancelBrokerageAsync(Long userId, Long orderItemId) {
  797 + brokerageRecordService.cancelBrokerage(userId, BrokerageRecordBizTypeEnum.ORDER, String.valueOf(orderItemId));
798 798 }
799 799  
800 800 /**
... ...
yudao-module-member/yudao-module-member-biz/pom.xml
... ... @@ -33,11 +33,6 @@
33 33 <artifactId>yudao-module-infra-api</artifactId>
34 34 <version>${revision}</version>
35 35 </dependency>
36   - <dependency>
37   - <groupId>cn.iocoder.boot</groupId>
38   - <artifactId>yudao-module-trade-api</artifactId>
39   - <version>${revision}</version>
40   - </dependency>
41 36  
42 37 <!-- 业务组件 -->
43 38 <dependency>
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppMemberUserController.java
... ... @@ -8,8 +8,6 @@ import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
8 8 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
9 9 import cn.iocoder.yudao.module.member.service.level.MemberLevelService;
10 10 import cn.iocoder.yudao.module.member.service.user.MemberUserService;
11   -import cn.iocoder.yudao.module.trade.api.brokerage.BrokerageApi;
12   -import cn.iocoder.yudao.module.trade.api.brokerage.dto.BrokerageUserDTO;
13 11 import io.swagger.v3.oas.annotations.Operation;
14 12 import io.swagger.v3.oas.annotations.tags.Tag;
15 13 import lombok.extern.slf4j.Slf4j;
... ... @@ -18,7 +16,6 @@ import org.springframework.web.bind.annotation.*;
18 16  
19 17 import javax.annotation.Resource;
20 18 import javax.validation.Valid;
21   -import java.util.Optional;
22 19  
23 20 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
24 21 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
... ... @@ -32,23 +29,16 @@ public class AppMemberUserController {
32 29  
33 30 @Resource
34 31 private MemberUserService userService;
35   -
36 32 @Resource
37 33 private MemberLevelService levelService;
38 34  
39   - @Resource
40   - private BrokerageApi brokerageApi;
41   -
42 35 @GetMapping("/get")
43 36 @Operation(summary = "获得基本信息")
44 37 @PreAuthenticated
45 38 public CommonResult<AppMemberUserInfoRespVO> getUserInfo() {
46 39 MemberUserDO user = userService.getUser(getLoginUserId());
47 40 MemberLevelDO level = levelService.getLevel(user.getLevelId());
48   - BrokerageUserDTO brokerageUser = brokerageApi.getBrokerageUser(user.getId());
49   - return success(MemberUserConvert.INSTANCE.convert(user, level)
50   - .setBrokerageEnabled(Optional.ofNullable(brokerageUser).map(BrokerageUserDTO::getBrokerageEnabled).orElse(false))
51   - );
  41 + return success(MemberUserConvert.INSTANCE.convert(user, level));
52 42 }
53 43  
54 44 @PutMapping("/update")
... ...