Commit 4b43304c765190a0cae4fc6285e3ec5b69abb8c3
1 parent
f36a6c5d
trade: 优化分销用户绑定用户编号、绑定时间字段名称
Showing
11 changed files
with
25 additions
and
24 deletions
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<BrokerageUserDO> { |
| 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 "trade_after_sale_log" ( |
| 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, | ... | ... |