-- 会员表增加字段 alter table member_user add column experience int not null default 0 comment '经验'; alter table member_user add column level_id bigint comment '等级编号'; -- 增加3张表 create table member_level ( id bigint auto_increment comment '编号' primary key, name varchar(30) default '' not null comment '等级名称', experience int default 0 not null comment '升级经验', level int default 0 not null comment '等级', discount int(4) default 100 not null comment '享受折扣', icon varchar(255) default '' not null comment '等级图标', background_url varchar(255) default '' not null comment '等级背景图', status tinyint default 0 not null comment '状态', creator varchar(64) default '' null comment '创建者', create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间', updater varchar(64) default '' null comment '更新者', update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间', deleted bit default b'0' not null comment '是否删除', tenant_id bigint default 0 not null comment '租户编号' ) comment '会员等级'; create table member_level_log ( id bigint auto_increment comment '编号' primary key, user_id bigint default 0 not null comment '用户编号', level_id bigint default 0 not null comment '等级编号', level int default 0 not null comment '会员等级', discount int(4) default 100 not null comment '享受折扣', experience int(4) default 100 not null comment '升级经验', user_experience int(4) default 100 not null comment '会员此时的经验', remark varchar(255) default '' not null comment '备注', description varchar(255) default '' not null comment '描述', creator varchar(64) default '' null comment '创建者', create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间', updater varchar(64) default '' null comment '更新者', update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间', deleted bit default b'0' not null comment '是否删除', tenant_id bigint default 0 not null comment '租户编号' ) comment '会员等级记录'; create index idx_user_id on member_level_log (user_id) comment '会员等级记录-用户编号'; create table member_experience_log ( id bigint auto_increment comment '编号' primary key, user_id bigint default 0 not null comment '用户编号', biz_id varchar(64) default '' not null comment '业务编号', biz_type tinyint default 0 not null comment '业务类型', title varchar(30) default '' not null comment '标题', experience int default 0 not null comment '经验', total_experience int default 0 not null comment '变更后的经验', description varchar(512) default '' not null comment '描述', creator varchar(64) default '' null comment '创建者', create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间', updater varchar(64) default '' null comment '更新者', update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间', deleted bit default b'0' not null comment '是否删除', tenant_id bigint default 0 not null comment '租户编号' ) comment '会员经验记录'; create index idx_user_id on member_experience_log (user_id) comment '会员经验记录-用户编号'; create index idx_user_biz_type on member_experience_log (user_id, biz_type) comment '会员经验记录-用户业务类型'; -- 增加字典 insert system_dict_type(name, type) values ('会员经验业务类型', 'member_experience_biz_type'); insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '系统', '0', 0); insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '订单', '1', 1); insert system_dict_data(dict_type, label, value, sort) values ('member_experience_biz_type', '签到', '2', 2); -- 菜单 SQL INSERT INTO system_menu( name, permission, type, sort, parent_id, path, icon, component, status, component_name ) VALUES ( '会员等级', '', 2, 3, 2262, 'level', '', 'member/level/index', 0, 'MemberLevel' ); -- 按钮父菜单ID -- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 SELECT @parentId := LAST_INSERT_ID(); -- 按钮 SQL INSERT INTO system_menu( name, permission, type, sort, parent_id, path, icon, component, status ) VALUES ( '会员等级查询', 'member:level:query', 3, 1, @parentId, '', '', '', 0 ); INSERT INTO system_menu( name, permission, type, sort, parent_id, path, icon, component, status ) VALUES ( '会员等级创建', 'member:level:create', 3, 2, @parentId, '', '', '', 0 ); INSERT INTO system_menu( name, permission, type, sort, parent_id, path, icon, component, status ) VALUES ( '会员等级更新', 'member:level:update', 3, 3, @parentId, '', '', '', 0 ); INSERT INTO system_menu( name, permission, type, sort, parent_id, path, icon, component, status ) VALUES ( '会员等级删除', 'member:level:delete', 3, 4, @parentId, '', '', '', 0 );