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

This commit is contained in:
owen
2023-09-08 22:51:05 +08:00
parent f36a6c5d6c
commit 4b43304c76
11 changed files with 25 additions and 24 deletions

View File

@ -24,8 +24,8 @@ create table trade_config
create table trade_brokerage_user create table trade_brokerage_user
( (
id bigint auto_increment comment '用户编号' primary key, id bigint auto_increment comment '用户编号' primary key,
brokerage_user_id bigint null comment '推广员编号', bind_user_id bigint null comment '推广员编号',
brokerage_bind_time datetime null comment '推广员绑定时间', bind_user_time datetime null comment '推广员绑定时间',
brokerage_enabled bit default 1 not null comment '是否成为推广员', brokerage_enabled bit default 1 not null comment '是否成为推广员',
brokerage_time datetime null comment '成为分销员时间', brokerage_time datetime null comment '成为分销员时间',
brokerage_price int default 0 not null comment '可用佣金', brokerage_price int default 0 not null comment '可用佣金',
@ -38,7 +38,7 @@ create table trade_brokerage_user
tenant_id bigint default 0 not null comment '租户编号' tenant_id bigint default 0 not null comment '租户编号'
) comment '分销用户'; ) comment '分销用户';
create index idx_invite_user_id on trade_brokerage_user (brokerage_user_id) comment '推广员编号'; create index idx_invite_user_id on trade_brokerage_user (bind_user_id) comment '推广员编号';
create index idx_agent on trade_brokerage_user (brokerage_enabled) comment '是否成为推广员'; create index idx_agent on trade_brokerage_user (brokerage_enabled) comment '是否成为推广员';

View File

@ -94,7 +94,7 @@ public class BrokerageUserController {
// 合计推广用户数量 // 合计推广用户数量
Map<Long, Long> brokerageUserCountMap = convertMap(userIds, Map<Long, Long> brokerageUserCountMap = convertMap(userIds,
userId -> userId, userId -> userId,
userId -> brokerageUserService.getCountByBrokerageUserId(userId)); userId -> brokerageUserService.getCountByBindUserId(userId));
// todo 合计提现 // todo 合计提现

View File

@ -18,11 +18,11 @@ public class BrokerageUserBaseVO {
@Schema(description = "推广员编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4587") @Schema(description = "推广员编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4587")
@NotNull(message = "推广员编号不能为空") @NotNull(message = "推广员编号不能为空")
private Long brokerageUserId; private Long bindUserId;
@Schema(description = "推广员绑定时间") @Schema(description = "推广员绑定时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime brokerageBindTime; private LocalDateTime bindUserTime;
@Schema(description = "推广资格", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "推广资格", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "推广资格不能为空") @NotNull(message = "推广资格不能为空")

View File

@ -18,7 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
public class BrokerageUserPageReqVO extends PageParam { public class BrokerageUserPageReqVO extends PageParam {
@Schema(description = "推广员编号", example = "4587") @Schema(description = "推广员编号", example = "4587")
private Long brokerageUserId; private Long bindUserId;
@Schema(description = "推广资格") @Schema(description = "推广资格")
private Boolean brokerageEnabled; private Boolean brokerageEnabled;

View File

@ -26,21 +26,22 @@ public class BrokerageUserDO extends BaseDO {
/** /**
* 用户编号 * 用户编号
* <p>
* 对应 MemberUserDO 的 id 字段
*/ */
@TableId @TableId
private Long id; private Long id;
// TODO @疯狂:貌似改成 bindUserId更明确
/** /**
* 推广员编号 * 推广员编号
* * <p>
* 关联 MemberUserDO 的 id 字段 * 关联 MemberUserDO 的 id 字段
*/ */
private Long brokerageUserId; private Long bindUserId;
/** /**
* 推广员绑定时间 * 推广员绑定时间
*/ */
private LocalDateTime brokerageBindTime; private LocalDateTime bindUserTime;
/** /**
* 推广资格 * 推广资格

View File

@ -19,7 +19,7 @@ public interface BrokerageUserMapper extends BaseMapperX<BrokerageUserDO> {
default PageResult<BrokerageUserDO> selectPage(BrokerageUserPageReqVO reqVO) { default PageResult<BrokerageUserDO> selectPage(BrokerageUserPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BrokerageUserDO>() return selectPage(reqVO, new LambdaQueryWrapperX<BrokerageUserDO>()
.eqIfPresent(BrokerageUserDO::getBrokerageUserId, reqVO.getBrokerageUserId()) .eqIfPresent(BrokerageUserDO::getBindUserId, reqVO.getBindUserId())
.eqIfPresent(BrokerageUserDO::getBrokerageEnabled, reqVO.getBrokerageEnabled()) .eqIfPresent(BrokerageUserDO::getBrokerageEnabled, reqVO.getBrokerageEnabled())
.betweenIfPresent(BrokerageUserDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(BrokerageUserDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BrokerageUserDO::getId)); .orderByDesc(BrokerageUserDO::getId));

View File

@ -75,10 +75,10 @@ public class BrokerageRecordServiceImpl implements BrokerageRecordService {
addBrokerage(firstUser, list, memberConfig.getBrokerageFrozenDays(), memberConfig.getBrokerageFirstPercent(), BrokerageAddReqBO::getFirstBrokeragePrice, bizType); addBrokerage(firstUser, list, memberConfig.getBrokerageFrozenDays(), memberConfig.getBrokerageFirstPercent(), BrokerageAddReqBO::getFirstBrokeragePrice, bizType);
// 2.1 获得二级推广员 // 2.1 获得二级推广员
if (firstUser.getBrokerageUserId() == null) { if (firstUser.getBindUserId() == null) {
return; return;
} }
BrokerageUserDO secondUser = brokerageUserService.getBrokerageUser(firstUser.getBrokerageUserId()); BrokerageUserDO secondUser = brokerageUserService.getBrokerageUser(firstUser.getBindUserId());
if (secondUser == null || !BooleanUtil.isTrue(secondUser.getBrokerageEnabled())) { if (secondUser == null || !BooleanUtil.isTrue(secondUser.getBrokerageEnabled())) {
return; return;
} }

View File

@ -89,8 +89,8 @@ public interface BrokerageUserService {
/** /**
* 获得推广用户数量(一级) * 获得推广用户数量(一级)
* *
* @param brokerageUserId 推广员编号 * @param bindUserId 绑定的推广员编号
* @return 推广用户数量 * @return 推广用户数量
*/ */
Long getCountByBrokerageUserId(Long brokerageUserId); Long getCountByBindUserId(Long bindUserId);
} }

View File

@ -68,7 +68,7 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
public BrokerageUserDO getBindBrokerageUser(Long id) { public BrokerageUserDO getBindBrokerageUser(Long id) {
return Optional.ofNullable(id) return Optional.ofNullable(id)
.map(this::getBrokerageUser) .map(this::getBrokerageUser)
.map(BrokerageUserDO::getBrokerageUserId) .map(BrokerageUserDO::getBindUserId)
.map(this::getBrokerageUser) .map(this::getBrokerageUser)
.orElse(null); .orElse(null);
} }
@ -101,8 +101,8 @@ public class BrokerageUserServiceImpl implements BrokerageUserService {
} }
@Override @Override
public Long getCountByBrokerageUserId(Long brokerageUserId) { public Long getCountByBindUserId(Long bindUserId) {
return brokerageUserMapper.selectCount(BrokerageUserDO::getBrokerageUserId, brokerageUserId); return brokerageUserMapper.selectCount(BrokerageUserDO::getBindUserId, bindUserId);
} }
} }

View File

@ -37,20 +37,20 @@ public class BrokerageUserServiceImplTest extends BaseDbUnitTest {
public void testGetBrokerageUserPage() { public void testGetBrokerageUserPage() {
// mock 数据 // mock 数据
BrokerageUserDO dbBrokerageUser = randomPojo(BrokerageUserDO.class, o -> { // 等会查询到 BrokerageUserDO dbBrokerageUser = randomPojo(BrokerageUserDO.class, o -> { // 等会查询到
o.setBrokerageUserId(null); o.setBindUserId(null);
o.setBrokerageEnabled(null); o.setBrokerageEnabled(null);
o.setCreateTime(null); o.setCreateTime(null);
}); });
brokerageUserMapper.insert(dbBrokerageUser); brokerageUserMapper.insert(dbBrokerageUser);
// 测试 brokerageUserId 不匹配 // 测试 brokerageUserId 不匹配
brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setBrokerageUserId(null))); brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setBindUserId(null)));
// 测试 brokerageEnabled 不匹配 // 测试 brokerageEnabled 不匹配
brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setBrokerageEnabled(null))); brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setBrokerageEnabled(null)));
// 测试 createTime 不匹配 // 测试 createTime 不匹配
brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setCreateTime(null))); brokerageUserMapper.insert(cloneIgnoreId(dbBrokerageUser, o -> o.setCreateTime(null)));
// 准备参数 // 准备参数
BrokerageUserPageReqVO reqVO = new BrokerageUserPageReqVO(); BrokerageUserPageReqVO reqVO = new BrokerageUserPageReqVO();
reqVO.setBrokerageUserId(null); reqVO.setBindUserId(null);
reqVO.setBrokerageEnabled(null); reqVO.setBrokerageEnabled(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));

View File

@ -129,8 +129,8 @@ CREATE TABLE IF NOT EXISTS "trade_after_sale_log" (
CREATE TABLE IF NOT EXISTS "trade_brokerage_user" CREATE TABLE IF NOT EXISTS "trade_brokerage_user"
( (
"id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"brokerage_user_id" bigint NOT NULL, "bind_user_id" bigint NOT NULL,
"brokerage_bind_time" varchar, "bind_user_time" varchar,
"brokerage_enabled" bit NOT NULL, "brokerage_enabled" bit NOT NULL,
"brokerage_time" varchar, "brokerage_time" varchar,
"brokerage_price" int NOT NULL, "brokerage_price" int NOT NULL,