Commit 54bf24b96676c5eda988f3d5311470f6c844dde4

Authored by YunaiV
1 parent 551a9684

code review:会员等级

sql/mysql/member_group.sql deleted
1 -create table member_group  
2 -(  
3 - id bigint auto_increment comment '编号' primary key,  
4 - name varchar(30) default '' not null comment '名称',  
5 - remark varchar(255) default '' not null comment '备注',  
6 - status tinyint default 0 not null comment '状态',  
7 - creator varchar(64) default '' null comment '创建者',  
8 - create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',  
9 - updater varchar(64) default '' null comment '更新者',  
10 - update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',  
11 - deleted bit default b'0' not null comment '是否删除',  
12 - tenant_id bigint default 0 not null comment '租户编号'  
13 -)  
14 - comment '用户分组';  
15 -  
16 -alter table member_user add column group_id bigint null comment '用户分组编号';  
17 -  
18 --- 菜单 SQL  
19 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status, component_name)  
20 -VALUES ('用户分组', '', 2, 5, 2262, 'group', '', 'member/group/index', 0, 'MemberGroup');  
21 -  
22 --- 按钮父菜单ID  
23 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
24 -SELECT @parentId := LAST_INSERT_ID();  
25 -  
26 --- 按钮 SQL  
27 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
28 -VALUES ('用户分组查询', 'member:group:query', 3, 1, @parentId, '', '', '', 0);  
29 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
30 -VALUES ('用户分组创建', 'member:group:create', 3, 2, @parentId, '', '', '', 0);  
31 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
32 -VALUES ('用户分组更新', 'member:group:update', 3, 3, @parentId, '', '', '', 0);  
33 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
34 -VALUES ('用户分组删除', 'member:group:delete', 3, 4, @parentId, '', '', '', 0);  
35 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
36 -VALUES ('用户分组导出', 'member:group:export', 3, 5, @parentId, '', '', '', 0);  
sql/mysql/member_level.sql
1 --- 会员表增加字段  
2 -alter table member_user add column experience int not null default 0 comment '经验';  
3 -alter table member_user add column level_id bigint comment '等级编号';  
4 -  
5 --- 增加3张表  
6 -create table member_level  
7 -(  
8 - id bigint auto_increment comment '编号' primary key,  
9 - name varchar(30) default '' not null comment '等级名称',  
10 - experience int default 0 not null comment '升级经验',  
11 - level int default 0 not null comment '等级',  
12 - discount tinyint default 100 not null comment '享受折扣',  
13 - icon varchar(255) default '' not null comment '等级图标',  
14 - background_url varchar(255) default '' not null comment '等级背景图',  
15 - status tinyint default 0 not null comment '状态',  
16 - creator varchar(64) default '' null comment '创建者',  
17 - create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',  
18 - updater varchar(64) default '' null comment '更新者',  
19 - update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',  
20 - deleted bit default b'0' not null comment '是否删除',  
21 - tenant_id bigint default 0 not null comment '租户编号'  
22 -)  
23 - comment '会员等级';  
24 -  
25 -create table member_level_log  
26 -(  
27 - id bigint auto_increment comment '编号' primary key,  
28 - user_id bigint default 0 not null comment '用户编号',  
29 - level_id bigint default 0 not null comment '等级编号',  
30 - level int default 0 not null comment '会员等级',  
31 - discount tinyint default 100 not null comment '享受折扣',  
32 - experience int default 0 not null comment '升级经验',  
33 - user_experience int default 0 not null comment '会员此时的经验',  
34 - remark varchar(255) default '' not null comment '备注',  
35 - description varchar(255) default '' not null comment '描述',  
36 - creator varchar(64) default '' null comment '创建者',  
37 - create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',  
38 - updater varchar(64) default '' null comment '更新者',  
39 - update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',  
40 - deleted bit default b'0' not null comment '是否删除',  
41 - tenant_id bigint default 0 not null comment '租户编号'  
42 -)  
43 - comment '会员等级记录';  
44 -  
45 -create index idx_user_id on member_level_log (user_id) comment '会员等级记录-用户编号';  
46 -  
47 -create table member_experience_log  
48 -(  
49 - id bigint auto_increment comment '编号' primary key,  
50 - user_id bigint default 0 not null comment '用户编号',  
51 - biz_id varchar(64) default '' not null comment '业务编号',  
52 - biz_type tinyint default 0 not null comment '业务类型',  
53 - title varchar(30) default '' not null comment '标题',  
54 - experience int default 0 not null comment '经验',  
55 - total_experience int default 0 not null comment '变更后的经验',  
56 - description varchar(512) default '' not null comment '描述',  
57 - creator varchar(64) default '' null comment '创建者',  
58 - create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',  
59 - updater varchar(64) default '' null comment '更新者',  
60 - update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',  
61 - deleted bit default b'0' not null comment '是否删除',  
62 - tenant_id bigint default 0 not null comment '租户编号'  
63 -)  
64 - comment '会员经验记录';  
65 -  
66 -create index idx_user_id on member_experience_log (user_id) comment '会员经验记录-用户编号';  
67 -create index idx_user_biz_type on member_experience_log (user_id, biz_type) comment '会员经验记录-用户业务类型';  
68 -  
69 -- 增加字典 1 -- 增加字典
70 insert system_dict_type(name, type) values ('会员经验业务类型', 'member_experience_biz_type'); 2 insert system_dict_type(name, type) values ('会员经验业务类型', 'member_experience_biz_type');
71 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '管理员调整', '0', 0); 3 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '管理员调整', '0', 0);
@@ -74,21 +6,3 @@ insert system_dict_data(dict_type, label, value, sort) values ('member_experienc @@ -74,21 +6,3 @@ insert system_dict_data(dict_type, label, value, sort) values ('member_experienc
74 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '退单扣除', '3', 3); 6 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '退单扣除', '3', 3);
75 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '签到奖励', '4', 4); 7 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '签到奖励', '4', 4);
76 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '抽奖奖励', '5', 5); 8 insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '抽奖奖励', '5', 5);
77 -  
78 --- 菜单 SQL  
79 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status, component_name)  
80 -VALUES ('会员等级', '', 2, 3, 2262, 'level', '', 'member/level/index', 0, 'MemberLevel');  
81 -  
82 --- 按钮父菜单ID  
83 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
84 -SELECT @parentId := LAST_INSERT_ID();  
85 -  
86 --- 按钮 SQL  
87 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
88 -VALUES ('会员等级查询', 'member:level:query', 3, 1, @parentId, '', '', '', 0);  
89 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
90 -VALUES ('会员等级创建', 'member:level:create', 3, 2, @parentId, '', '', '', 0);  
91 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
92 -VALUES ('会员等级更新', 'member:level:update', 3, 3, @parentId, '', '', '', 0);  
93 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
94 -VALUES ('会员等级删除', 'member:level:delete', 3, 4, @parentId, '', '', '', 0);  
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/level/MemberLevelBaseVO.java
@@ -35,7 +35,7 @@ public class MemberLevelBaseVO { @@ -35,7 +35,7 @@ public class MemberLevelBaseVO {
35 @Schema(description = "享受折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "98") 35 @Schema(description = "享受折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "98")
36 @NotNull(message = "享受折扣不能为空") 36 @NotNull(message = "享受折扣不能为空")
37 @Range(min = 0, max = 100, message = "享受折扣的范围为 0-100") 37 @Range(min = 0, max = 100, message = "享受折扣的范围为 0-100")
38 - private Integer discount; 38 + private Integer discountPercent;
39 39
40 @Schema(description = "等级图标", example = "https://www.iocoder.cn/yudao.jpg") 40 @Schema(description = "等级图标", example = "https://www.iocoder.cn/yudao.jpg")
41 @URL(message = "等级图标必须是 URL 格式") 41 @URL(message = "等级图标必须是 URL 格式")
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/log/MemberLevelLogBaseVO.java
@@ -26,7 +26,7 @@ public class MemberLevelLogBaseVO { @@ -26,7 +26,7 @@ public class MemberLevelLogBaseVO {
26 26
27 @Schema(description = "享受折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "13319") 27 @Schema(description = "享受折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "13319")
28 @NotNull(message = "享受折扣不能为空") 28 @NotNull(message = "享受折扣不能为空")
29 - private Integer discount; 29 + private Integer discountPercent;
30 30
31 @Schema(description = "升级经验", requiredMode = Schema.RequiredMode.REQUIRED, example = "13319") 31 @Schema(description = "升级经验", requiredMode = Schema.RequiredMode.REQUIRED, example = "13319")
32 @NotNull(message = "升级经验不能为空") 32 @NotNull(message = "升级经验不能为空")
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserRespVO.java
@@ -29,9 +29,11 @@ public class MemberUserRespVO extends MemberUserBaseVO { @@ -29,9 +29,11 @@ public class MemberUserRespVO extends MemberUserBaseVO {
29 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) 29 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
30 private LocalDateTime createTime; 30 private LocalDateTime createTime;
31 31
32 -  
33 // ========== 其它信息 ========== 32 // ========== 其它信息 ==========
34 33
  34 + @Schema(description = "积分", example = "100")
  35 + private Integer point;
  36 +
35 @Schema(description = "会员标签", example = "[红色, 快乐]") 37 @Schema(description = "会员标签", example = "[红色, 快乐]")
36 private List<String> tagNames; 38 private List<String> tagNames;
37 39
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/level/MemberExperienceLogDO.java
1 package cn.iocoder.yudao.module.member.dal.dataobject.level; 1 package cn.iocoder.yudao.module.member.dal.dataobject.level;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
4 import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; 5 import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum;
5 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 import com.baomidou.mybatisplus.annotation.TableId; 7 import com.baomidou.mybatisplus.annotation.TableId;
@@ -29,6 +30,8 @@ public class MemberExperienceLogDO extends BaseDO { @@ -29,6 +30,8 @@ public class MemberExperienceLogDO extends BaseDO {
29 private Long id; 30 private Long id;
30 /** 31 /**
31 * 用户编号 32 * 用户编号
  33 + *
  34 + * 关联 {@link MemberUserDO#getId()} 字段
32 */ 35 */
33 private Long userId; 36 private Long userId;
34 /** 37 /**
@@ -46,6 +49,10 @@ public class MemberExperienceLogDO extends BaseDO { @@ -46,6 +49,10 @@ public class MemberExperienceLogDO extends BaseDO {
46 */ 49 */
47 private String title; 50 private String title;
48 /** 51 /**
  52 + * 描述
  53 + */
  54 + private String description;
  55 + /**
49 * 经验 56 * 经验
50 */ 57 */
51 private Integer experience; 58 private Integer experience;
@@ -53,9 +60,5 @@ public class MemberExperienceLogDO extends BaseDO { @@ -53,9 +60,5 @@ public class MemberExperienceLogDO extends BaseDO {
53 * 变更后的经验 60 * 变更后的经验
54 */ 61 */
55 private Integer totalExperience; 62 private Integer totalExperience;
56 - /**  
57 - * 描述  
58 - */  
59 - private String description;  
60 63
61 } 64 }
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/level/MemberLevelDO.java
@@ -34,17 +34,18 @@ public class MemberLevelDO extends BaseDO { @@ -34,17 +34,18 @@ public class MemberLevelDO extends BaseDO {
34 */ 34 */
35 private String name; 35 private String name;
36 /** 36 /**
37 - * 升级经验  
38 - */  
39 - private Integer experience;  
40 - /**  
41 * 等级 37 * 等级
42 */ 38 */
43 private Integer level; 39 private Integer level;
44 /** 40 /**
  41 + * 升级经验
  42 + */
  43 + private Integer experience;
  44 + /**
45 * 享受折扣 45 * 享受折扣
46 */ 46 */
47 - private Integer discount; 47 + private Integer discountPercent;
  48 +
48 /** 49 /**
49 * 等级图标 50 * 等级图标
50 */ 51 */
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/level/MemberLevelLogDO.java
1 package cn.iocoder.yudao.module.member.dal.dataobject.level; 1 package cn.iocoder.yudao.module.member.dal.dataobject.level;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
4 import com.baomidou.mybatisplus.annotation.KeySequence; 5 import com.baomidou.mybatisplus.annotation.KeySequence;
5 import com.baomidou.mybatisplus.annotation.TableId; 6 import com.baomidou.mybatisplus.annotation.TableId;
6 import com.baomidou.mybatisplus.annotation.TableName; 7 import com.baomidou.mybatisplus.annotation.TableName;
@@ -30,20 +31,26 @@ public class MemberLevelLogDO extends BaseDO { @@ -30,20 +31,26 @@ public class MemberLevelLogDO extends BaseDO {
30 private Long id; 31 private Long id;
31 /** 32 /**
32 * 用户编号 33 * 用户编号
  34 + *
  35 + * 关联 {@link MemberUserDO#getId()} 字段
33 */ 36 */
34 private Long userId; 37 private Long userId;
35 /** 38 /**
36 * 等级编号 39 * 等级编号
  40 + *
  41 + * 关联 {@link MemberLevelDO#getId()} 字段
37 */ 42 */
38 private Long levelId; 43 private Long levelId;
39 /** 44 /**
40 * 会员等级 45 * 会员等级
  46 + *
  47 + * 冗余 {@link MemberLevelDO#getLevel()} 字段
41 */ 48 */
42 private Integer level; 49 private Integer level;
43 /** 50 /**
44 * 享受折扣 51 * 享受折扣
45 */ 52 */
46 - private Integer discount; 53 + private Integer discountPercent;
47 /** 54 /**
48 * 升级经验 55 * 升级经验
49 */ 56 */
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberExperienceLogService.java
@@ -39,14 +39,6 @@ public interface MemberExperienceLogService { @@ -39,14 +39,6 @@ public interface MemberExperienceLogService {
39 */ 39 */
40 PageResult<MemberExperienceLogDO> getExperienceLogPage(MemberExperienceLogPageReqVO pageReqVO); 40 PageResult<MemberExperienceLogDO> getExperienceLogPage(MemberExperienceLogPageReqVO pageReqVO);
41 41
42 - /**  
43 - * 获得会员经验记录列表, 用于 Excel 导出  
44 - *  
45 - * @param exportReqVO 查询条件  
46 - * @return 会员经验记录列表  
47 - */  
48 - List<MemberExperienceLogDO> getExperienceLogList(MemberExperienceLogExportReqVO exportReqVO);  
49 -  
50 // TODO @疯狂:类似 MemberLevelLogService 的方法,这里也需要提供一个通用的方法,用于创建经验变动记录 42 // TODO @疯狂:类似 MemberLevelLogService 的方法,这里也需要提供一个通用的方法,用于创建经验变动记录
51 43
52 /** 44 /**
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelLogService.java
@@ -47,14 +47,6 @@ public interface MemberLevelLogService { @@ -47,14 +47,6 @@ public interface MemberLevelLogService {
47 */ 47 */
48 PageResult<MemberLevelLogDO> getLevelLogPage(MemberLevelLogPageReqVO pageReqVO); 48 PageResult<MemberLevelLogDO> getLevelLogPage(MemberLevelLogPageReqVO pageReqVO);
49 49
50 - /**  
51 - * 获得会员等级记录列表, 用于 Excel 导出  
52 - *  
53 - * @param exportReqVO 查询条件  
54 - * @return 会员等级记录列表  
55 - */  
56 - List<MemberLevelLogDO> getLevelLogList(MemberLevelLogExportReqVO exportReqVO);  
57 -  
58 // TODO @疯狂:把 createCancelLog、createAdjustLog、createAutoUpgradeLog 几个日志合并成一个通用的日志方法;整体的内容,交给 MemberLevelService 去做;以及对应的 level 变化的通知; 50 // TODO @疯狂:把 createCancelLog、createAdjustLog、createAutoUpgradeLog 几个日志合并成一个通用的日志方法;整体的内容,交给 MemberLevelService 去做;以及对应的 level 变化的通知;
59 51
60 /** 52 /**
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelLogServiceImpl.java
@@ -75,7 +75,7 @@ public class MemberLevelLogServiceImpl implements MemberLevelLogService { @@ -75,7 +75,7 @@ public class MemberLevelLogServiceImpl implements MemberLevelLogService {
75 levelLogDO.setUserId(user.getId()); 75 levelLogDO.setUserId(user.getId());
76 levelLogDO.setLevelId(level.getId()); 76 levelLogDO.setLevelId(level.getId());
77 levelLogDO.setLevel(level.getLevel()); 77 levelLogDO.setLevel(level.getLevel());
78 - levelLogDO.setDiscount(level.getDiscount()); 78 + levelLogDO.setDiscountPercent(level.getDiscountPercent());
79 levelLogDO.setUserExperience(level.getExperience()); 79 levelLogDO.setUserExperience(level.getExperience());
80 levelLogDO.setExperience(experience); 80 levelLogDO.setExperience(experience);
81 levelLogDO.setRemark(reason); 81 levelLogDO.setRemark(reason);
@@ -92,7 +92,7 @@ public class MemberLevelLogServiceImpl implements MemberLevelLogService { @@ -92,7 +92,7 @@ public class MemberLevelLogServiceImpl implements MemberLevelLogService {
92 levelLogDO.setUserId(user.getId()); 92 levelLogDO.setUserId(user.getId());
93 levelLogDO.setLevelId(level.getId()); 93 levelLogDO.setLevelId(level.getId());
94 levelLogDO.setLevel(level.getLevel()); 94 levelLogDO.setLevel(level.getLevel());
95 - levelLogDO.setDiscount(level.getDiscount()); 95 + levelLogDO.setDiscountPercent(level.getDiscountPercent());
96 levelLogDO.setExperience(level.getExperience()); 96 levelLogDO.setExperience(level.getExperience());
97 levelLogDO.setUserExperience(user.getExperience()); 97 levelLogDO.setUserExperience(user.getExperience());
98 levelLogDO.setDescription("成为:" + level.getName()); 98 levelLogDO.setDescription("成为:" + level.getName());
yudao-module-member/yudao-module-member-biz/src/test/java/cn/iocoder/yudao/module/member/service/level/MemberLevelServiceImplTest.java
@@ -49,7 +49,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest { @@ -49,7 +49,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest {
49 public void testCreateLevel_success() { 49 public void testCreateLevel_success() {
50 // 准备参数 50 // 准备参数
51 MemberLevelCreateReqVO reqVO = randomPojo(MemberLevelCreateReqVO.class, o -> { 51 MemberLevelCreateReqVO reqVO = randomPojo(MemberLevelCreateReqVO.class, o -> {
52 - o.setDiscount(randomInt()); 52 + o.setDiscountPercent(randomInt());
53 o.setIcon(randomURL()); 53 o.setIcon(randomURL());
54 o.setBackgroundUrl(randomURL()); 54 o.setBackgroundUrl(randomURL());
55 }); 55 });
@@ -76,7 +76,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest { @@ -76,7 +76,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest {
76 o.setLevel(dbLevel.getLevel()); 76 o.setLevel(dbLevel.getLevel());
77 o.setExperience(dbLevel.getExperience()); 77 o.setExperience(dbLevel.getExperience());
78 //以下是要修改的字段 78 //以下是要修改的字段
79 - o.setDiscount(randomInt()); 79 + o.setDiscountPercent(randomInt());
80 o.setIcon(randomURL()); 80 o.setIcon(randomURL());
81 o.setBackgroundUrl(randomURL()); 81 o.setBackgroundUrl(randomURL());
82 }); 82 });
@@ -256,7 +256,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest { @@ -256,7 +256,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest {
256 private static MemberLevelDO randomLevelDO(Consumer<MemberLevelDO>... consumers) { 256 private static MemberLevelDO randomLevelDO(Consumer<MemberLevelDO>... consumers) {
257 Consumer<MemberLevelDO> consumer = (o) -> { 257 Consumer<MemberLevelDO> consumer = (o) -> {
258 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 258 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
259 - o.setDiscount(randomInt(0, 100)); 259 + o.setDiscountPercent(randomInt(0, 100));
260 o.setIcon(randomURL()); 260 o.setIcon(randomURL());
261 o.setBackgroundUrl(randomURL()); 261 o.setBackgroundUrl(randomURL());
262 }; 262 };