Commit 4b43304c765190a0cae4fc6285e3ec5b69abb8c3

Authored by owen
1 parent f36a6c5d

trade: 优化分销用户绑定用户编号、绑定时间字段名称

sql/mysql/brokerage.sql
... ... @@ -24,8 +24,8 @@ create table trade_config
24 24 create table trade_brokerage_user
25 25 (
26 26 id bigint auto_increment comment '用户编号' primary key,
27   - brokerage_user_id bigint null comment '推广员编号',
28   - brokerage_bind_time datetime null comment '推广员绑定时间',
  27 + bind_user_id bigint null comment '推广员编号',
  28 + bind_user_time datetime null comment '推广员绑定时间',
29 29 brokerage_enabled bit default 1 not null comment '是否成为推广员',
30 30 brokerage_time datetime null comment '成为分销员时间',
31 31 brokerage_price int default 0 not null comment '可用佣金',
... ... @@ -38,7 +38,7 @@ create table trade_brokerage_user
38 38 tenant_id bigint default 0 not null comment '租户编号'
39 39 ) comment '分销用户';
40 40  
41   -create index idx_invite_user_id on trade_brokerage_user (brokerage_user_id) comment '推广员编号';
  41 +create index idx_invite_user_id on trade_brokerage_user (bind_user_id) comment '推广员编号';
42 42 create index idx_agent on trade_brokerage_user (brokerage_enabled) comment '是否成为推广员';
43 43  
44 44  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/user/BrokerageUserController.java
... ... @@ -94,7 +94,7 @@ public class BrokerageUserController {
94 94 // 合计推广用户数量
95 95 Map<Long, Long> brokerageUserCountMap = convertMap(userIds,
96 96 userId -> userId,
97   - userId -> brokerageUserService.getCountByBrokerageUserId(userId));
  97 + userId -> brokerageUserService.getCountByBindUserId(userId));
98 98  
99 99 // todo 合计提现
100 100  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/user/vo/BrokerageUserBaseVO.java
... ... @@ -18,11 +18,11 @@ public class BrokerageUserBaseVO {
18 18  
19 19 @Schema(description = "推广员编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4587")
20 20 @NotNull(message = "推广员编号不能为空")
21   - private Long brokerageUserId;
  21 + private Long bindUserId;
22 22  
23 23 @Schema(description = "推广员绑定时间")
24 24 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
25   - private LocalDateTime brokerageBindTime;
  25 + private LocalDateTime bindUserTime;
26 26  
27 27 @Schema(description = "推广资格", requiredMode = Schema.RequiredMode.REQUIRED)
28 28 @NotNull(message = "推广资格不能为空")
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/user/vo/BrokerageUserPageReqVO.java
... ... @@ -18,7 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
18 18 public class BrokerageUserPageReqVO extends PageParam {
19 19  
20 20 @Schema(description = "推广员编号", example = "4587")
21   - private Long brokerageUserId;
  21 + private Long bindUserId;
22 22  
23 23 @Schema(description = "推广资格")
24 24 private Boolean brokerageEnabled;
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/brokerage/user/BrokerageUserDO.java
... ... @@ -26,21 +26,22 @@ public class BrokerageUserDO extends BaseDO {
26 26  
27 27 /**
28 28 * 用户编号
  29 + * <p>
  30 + * 对应 MemberUserDO 的 id 字段
29 31 */
30 32 @TableId
31 33 private Long id;
32 34  
33   - // TODO @疯狂:貌似改成 bindUserId,更明确?
34 35 /**
35 36 * 推广员编号
36   - *
  37 + * <p>
37 38 * 关联 MemberUserDO 的 id 字段
38 39 */
39   - private Long brokerageUserId;
  40 + private Long bindUserId;
40 41 /**
41 42 * 推广员绑定时间
42 43 */
43   - private LocalDateTime brokerageBindTime;
  44 + private LocalDateTime bindUserTime;
44 45  
45 46 /**
46 47 * 推广资格
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/user/BrokerageUserMapper.java
... ... @@ -19,7 +19,7 @@ public interface BrokerageUserMapper extends BaseMapperX&lt;BrokerageUserDO&gt; {
19 19  
20 20 default PageResult<BrokerageUserDO> selectPage(BrokerageUserPageReqVO reqVO) {
21 21 return selectPage(reqVO, new LambdaQueryWrapperX<BrokerageUserDO>()
22   - .eqIfPresent(BrokerageUserDO::getBrokerageUserId, reqVO.getBrokerageUserId())
  22 + .eqIfPresent(BrokerageUserDO::getBindUserId, reqVO.getBindUserId())
23 23 .eqIfPresent(BrokerageUserDO::getBrokerageEnabled, reqVO.getBrokerageEnabled())
24 24 .betweenIfPresent(BrokerageUserDO::getCreateTime, reqVO.getCreateTime())
25 25 .orderByDesc(BrokerageUserDO::getId));
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/BrokerageRecordServiceImpl.java
... ... @@ -75,10 +75,10 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
75 75 addBrokerage(firstUser, list, memberConfig.getBrokerageFrozenDays(), memberConfig.getBrokerageFirstPercent(), BrokerageAddReqBO::getFirstBrokeragePrice, bizType);
76 76  
77 77 // 2.1 获得二级推广员
78   - if (firstUser.getBrokerageUserId() == null) {
  78 + if (firstUser.getBindUserId() == null) {
79 79 return;
80 80 }
81   - BrokerageUserDO secondUser = brokerageUserService.getBrokerageUser(firstUser.getBrokerageUserId());
  81 + BrokerageUserDO secondUser = brokerageUserService.getBrokerageUser(firstUser.getBindUserId());
82 82 if (secondUser == null || !BooleanUtil.isTrue(secondUser.getBrokerageEnabled())) {
83 83 return;
84 84 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/user/BrokerageUserService.java
... ... @@ -89,8 +89,8 @@ public interface BrokerageUserService {
89 89 /**
90 90 * 获得推广用户数量(一级)
91 91 *
92   - * @param brokerageUserId 推广员编号
  92 + * @param bindUserId 绑定的推广员编号
93 93 * @return 推广用户数量
94 94 */
95   - Long getCountByBrokerageUserId(Long brokerageUserId);
  95 + Long getCountByBindUserId(Long bindUserId);
96 96 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/user/BrokerageUserServiceImpl.java
... ... @@ -68,7 +68,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
68 68 public BrokerageUserDO getBindBrokerageUser(Long id) {
69 69 return Optional.ofNullable(id)
70 70 .map(this::getBrokerageUser)
71   - .map(BrokerageUserDO::getBrokerageUserId)
  71 + .map(BrokerageUserDO::getBindUserId)
72 72 .map(this::getBrokerageUser)
73 73 .orElse(null);
74 74 }
... ... @@ -101,8 +101,8 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
101 101 }
102 102  
103 103 @Override
104   - public Long getCountByBrokerageUserId(Long brokerageUserId) {
105   - return brokerageUserMapper.selectCount(BrokerageUserDO::getBrokerageUserId, brokerageUserId);
  104 + public Long getCountByBindUserId(Long bindUserId) {
  105 + return brokerageUserMapper.selectCount(BrokerageUserDO::getBindUserId, bindUserId);
106 106 }
107 107  
108 108 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/brokerage/user/BrokerageUserServiceImplTest.java
... ... @@ -37,20 +37,20 @@ public class BrokerageUserServiceImplTest extends BaseDbUnitTest {
37 37 public void testGetBrokerageUserPage() {
38 38 // mock 数据
39 39 BrokerageUserDO dbBrokerageUser = randomPojo(BrokerageUserDO.class, o -> { // 等会查询到
40   - o.setBrokerageUserId(null);
  40 + o.setBindUserId(null);
41 41 o.setBrokerageEnabled(null);
42 42 o.setCreateTime(null);
43 43 });
44 44 brokerageUserMapper.insert(dbBrokerageUser);
45 45 // 测试 brokerageUserId 不匹配
46   - brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setBrokerageUserId(null)));
  46 + brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setBindUserId(null)));
47 47 // 测试 brokerageEnabled 不匹配
48 48 brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setBrokerageEnabled(null)));
49 49 // 测试 createTime 不匹配
50 50 brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setCreateTime(null)));
51 51 // 准备参数
52 52 BrokerageUserPageReqVO reqVO = new BrokerageUserPageReqVO();
53   - reqVO.setBrokerageUserId(null);
  53 + reqVO.setBindUserId(null);
54 54 reqVO.setBrokerageEnabled(null);
55 55 reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
56 56  
... ...
yudao-module-mall/yudao-module-trade-biz/src/test/resources/sql/create_tables.sql
... ... @@ -129,8 +129,8 @@ CREATE TABLE IF NOT EXISTS &quot;trade_after_sale_log&quot; (
129 129 CREATE TABLE IF NOT EXISTS "trade_brokerage_user"
130 130 (
131 131 "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
132   - "brokerage_user_id" bigint NOT NULL,
133   - "brokerage_bind_time" varchar,
  132 + "bind_user_id" bigint NOT NULL,
  133 + "bind_user_time" varchar,
134 134 "brokerage_enabled" bit NOT NULL,
135 135 "brokerage_time" varchar,
136 136 "brokerage_price" int NOT NULL,
... ...