123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #1.用户层级关系表
- #创建表
- drop table if exists `application`.app_user_lvl_info;
- create table `application`.app_user_lvl_info
- (
- lvl varchar(100) NOT NULL COMMENT '运营id',
- lvl_name varchar(100) comment '运营名称',
- role_id varchar(100) comment '运营角色id',
- role_name varchar(100) comment '运营角色名称',
- dep_id varchar(100) comment '运营部门id',
- org_code varchar(100) comment '运营组织id',
- depart_name varchar(100) comment '运营组织名称',
- lvl2 varchar(100) comment '一级经理id',
- lvl2_name varchar(100) comment '一级经理名称',
- role_id2 varchar(100) comment '一级经理角色id',
- role_name2 varchar(100) comment '一级经理角色名称',
- lvl3 varchar(100) comment '二级经理id',
- lvl3_name varchar(100) comment '二级经理名称',
- role_id3 varchar(100) comment '二级经理角色id',
- role_name3 varchar(100) comment '二级经理角色名称',
- lvl4 varchar(100) comment '三级经理id',
- lvl4_name varchar(100) comment '三级经理名称',
- type bigint comment '类型',
- `data_create_time` timestamp DEFAULT CURRENT_TIMESTAMP,
- `data_update_time` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`lvl`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='用户层级关系表';
- #插入数据
- replace into `application`.app_user_lvl_info (lvl,lvl_name,role_id,role_name,dep_id,org_code,depart_name,lvl2,lvl2_name,role_id2,role_name2,lvl3,lvl3_name,role_id3,role_name3,lvl4,lvl4_name,type)
- select * from
- (select a.id lvl,a.realname lvl_name,c.role_id,c.role_name,g.dep_id,g.org_code,g.depart_name,a.leader_id lvl2,b.realname lvl2_name,d.role_id role_id2,d.role_name role_name2,
- b.leader_id lvl3, e.realname lvl3_name,f.role_id role_id3,f.role_name role_name3,e.leader_id lvl4 ,v.realname lvl4_name, case when d.role_id in ('12b1f86a4d4adda3e5ad1739685c74ff','6a0429d0a879c8e884bcb1a169d66678','8e3b10a1e82ef0f742fa219839a8abdc') then 1
- when d.role_id='8d3e2ed58bdedf17716f698ea674da27' then 2 else 0 end type
- from `jeecg-boot`.sys_user a
- left join `jeecg-boot`.sys_user b
- on a.leader_id=b.id
- left join
- (select a.*,b.role_name from `jeecg-boot`.sys_user_role a
- left join (select * from `jeecg-boot`.sys_role) b
- on a.role_id=b.id) c
- on a.id=c.user_id
- left join
- (select a.*,b.role_name from `jeecg-boot`.sys_user_role a
- left join (select * from `jeecg-boot`.sys_role) b
- on a.role_id=b.id) d
- on a.leader_id=d.user_id
- left join `jeecg-boot`.sys_user e
- on b.leader_id=e.id
- left join `jeecg-boot`.sys_user v
- on e.leader_id=v.id
- left join
- (select a.*,b.role_name from `jeecg-boot`.sys_user_role a
- left join (select * from `jeecg-boot`.sys_role) b
- on a.role_id=b.id) f
- on b.leader_id=f.user_id
- left join
- (select m.user_id,m.dep_id,n.org_code,n.depart_name from `jeecg-boot`.sys_user_depart m
- left join `jeecg-boot`.sys_depart n
- on m.dep_id=n.id)g
- on a.id=g.user_id
- where a.status=1 ) v
- #2.用户与经理关系表
- #创建表
- drop table if exists `application`.app_user_manage;
- create table `application`.app_user_manage
- (
- user_id varchar(100) NOT NULL COMMENT '用户id',
- user_name varchar(200) comment '用户名称',
- manage_id varchar(100) NOT NULL comment '经理id',
- manage_name varchar(100) NOT NULL comment '经理名称',
- type bigint comment '类型,1:运营;2:设计;0:其它',
- flag bigint comment '级别',
- `data_create_time` timestamp DEFAULT CURRENT_TIMESTAMP,
- `data_update_time` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`user_id`,`manage_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='用户与经理关系表';
- #插入数据
- replace into `application`.app_user_manage (user_id,user_name,manage_id,manage_name,type,flag)
- select * from
- (select distinct lvl user_id ,lvl_name user_name,ifnull(lvl4,'-') manage_id,ifnull(lvl4_name,'-') manage_name,type,3 flag from `application`.app_user_lvl_info
- union all
- select distinct lvl user_id ,lvl_name user_name,ifnull(lvl3,'-') manage_id,ifnull(lvl3_name,'-') manage_name,type,2 flag from `application`.app_user_lvl_info
- union all
- select distinct lvl user_id ,lvl_name user_name,ifnull(lvl2,'-') manage_id,ifnull(lvl2_name,'-') manage_name,type,1 flag from `application`.app_user_lvl_info )m
|