Commit 4b43304c765190a0cae4fc6285e3ec5b69abb8c3

Authored by owen
1 parent f36a6c5d

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

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