mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-14 02:55:07 +08:00
trade: 优化分销用户绑定用户编号、绑定时间字段名称
This commit is contained in:
@ -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 '是否成为推广员';
|
||||||
|
|
||||||
|
|
||||||
|
@ -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 合计提现
|
||||||
|
|
||||||
|
@ -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 = "推广资格不能为空")
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推广资格
|
* 推广资格
|
||||||
|
@ -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));
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -89,8 +89,8 @@ public interface BrokerageUserService {
|
|||||||
/**
|
/**
|
||||||
* 获得推广用户数量(一级)
|
* 获得推广用户数量(一级)
|
||||||
*
|
*
|
||||||
* @param brokerageUserId 推广员编号
|
* @param bindUserId 绑定的推广员编号
|
||||||
* @return 推广用户数量
|
* @return 推广用户数量
|
||||||
*/
|
*/
|
||||||
Long getCountByBrokerageUserId(Long brokerageUserId);
|
Long getCountByBindUserId(Long bindUserId);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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));
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
Reference in New Issue
Block a user