feat: 根据需求文档初始化系统管理数据

根据需求文档 3.1/3.2 角色层级和权限矩阵初始化:

1. 角色:
   - 超级管理员(管理全部数据)
   - 分公司用户(管理所属区域)
   - 学校用户(管理本校数据)

2. 部门(组织架构):
   - 湖北新华书店
     - 武汉分公司
       - 武汉市第一中学
       - 武汉市第三中学
       - 武汉市水果湖小学
     - 黄冈分公司
       - 黄冈中学
       - 红安县第一中学

3. 示例用户:
   - admin(超级管理员)
   - wuhan(分公司用户,密码:admin123)
   - whyz(学校用户,密码:admin123)

@author pangu
This commit is contained in:
神码-方晓辉 2026-02-02 16:25:24 +08:00
parent fa722945c4
commit 82a0cb7f07
1 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,70 @@
-- ============================================================
-- 盘古用户平台 - 系统管理初始化数据(根据需求文档)
-- 作者pangu
-- 创建时间2026-02-02
-- 说明:根据需求文档 3.1/3.2 初始化角色、部门、用户数据
-- ============================================================
USE `pguser-db`;
-- ===================== 1. 角色数据 =====================
-- 需求文档 3.1 定义的三种角色
DELETE FROM sys_role WHERE role_id IN (2, 3, 4);
INSERT INTO sys_role (role_id, role_name, role_key, role_sort, data_scope, menu_check_strictly, dept_check_strictly, status, del_flag, create_dept, create_by, create_time, remark) VALUES
(2, '分公司用户', 'branch', 2, '4', 1, 1, '0', '0', 103, 1, NOW(), '管理所属区域数据'),
(3, '学校用户', 'school', 3, '5', 1, 1, '0', '0', 103, 1, NOW(), '管理本校数据');
-- ===================== 2. 部门数据(组织架构) =====================
-- 湖北新华书店分公司结构
DELETE FROM sys_dept WHERE dept_id >= 100;
INSERT INTO sys_dept (dept_id, parent_id, ancestors, dept_name, order_num, leader, phone, email, status, del_flag, create_dept, create_by, create_time) VALUES
(100, 0, '0', '湖北新华书店', 0, NULL, NULL, NULL, '0', '0', NULL, 1, NOW()),
-- 分公司
(101, 100, '0,100', '武汉分公司', 1, NULL, NULL, NULL, '0', '0', 100, 1, NOW()),
(102, 100, '0,100', '黄冈分公司', 2, NULL, NULL, NULL, '0', '0', 100, 1, NOW()),
-- 武汉分公司下的学校
(201, 101, '0,100,101', '武汉市第一中学', 1, NULL, NULL, NULL, '0', '0', 101, 1, NOW()),
(202, 101, '0,100,101', '武汉市第三中学', 2, NULL, NULL, NULL, '0', '0', 101, 1, NOW()),
(203, 101, '0,100,101', '武汉市水果湖小学', 3, NULL, NULL, NULL, '0', '0', 101, 1, NOW()),
-- 黄冈分公司下的学校
(301, 102, '0,100,102', '黄冈中学', 1, NULL, NULL, NULL, '0', '0', 102, 1, NOW()),
(302, 102, '0,100,102', '红安县第一中学', 2, NULL, NULL, NULL, '0', '0', 102, 1, NOW());
-- ===================== 3. 用户数据 =====================
UPDATE sys_user SET nick_name = '超级管理员', dept_id = 100 WHERE user_id = 1;
DELETE FROM sys_user WHERE user_id IN (2, 3, 4);
-- 分公司用户示例密码admin123
INSERT INTO sys_user (user_id, dept_id, user_name, nick_name, user_type, email, phonenumber, sex, avatar, password, status, del_flag, login_ip, login_date, create_dept, create_by, create_time, remark) VALUES
(2, 101, 'wuhan', '武汉分公司管理员', 'sys_user', NULL, '13800000001', '0', NULL, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', NULL, NULL, 100, 1, NOW(), '分公司用户示例密码admin123'),
(3, 201, 'whyz', '武汉一中管理员', 'sys_user', NULL, '13800000002', '0', NULL, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', NULL, NULL, 101, 1, NOW(), '学校用户示例密码admin123');
-- ===================== 4. 用户角色关联 =====================
DELETE FROM sys_user_role WHERE user_id IN (1, 2, 3);
INSERT INTO sys_user_role (user_id, role_id) VALUES
(1, 1), -- admin -> 超级管理员
(2, 2), -- wuhan -> 分公司用户
(3, 3); -- whyz -> 学校用户
-- ===================== 5. 角色菜单权限 =====================
-- 根据需求文档 3.2 角色权限矩阵配置
DELETE FROM sys_role_menu WHERE role_id IN (2, 3);
-- 分公司用户权限:学校管理、会员管理、学生管理、基础数据(年级/班级/学科)
INSERT INTO sys_role_menu (role_id, menu_id) VALUES
-- 学校管理
(2, 2000), (2, 2001), (2, 2002), (2, 2003), (2, 2004),
-- 会员管理
(2, 2100), (2, 2101), (2, 2102), (2, 2103), (2, 2104), (2, 2105),
-- 学生管理
(2, 2200), (2, 2201), (2, 2202), (2, 2203), (2, 2204), (2, 2205), (2, 2206),
-- 基础数据(不含区域管理)
(2, 2400), (2, 2410), (2, 2411), (2, 2412), (2, 2413), (2, 2414),
(2, 2420), (2, 2421), (2, 2422), (2, 2423), (2, 2424),
(2, 2430), (2, 2431), (2, 2432), (2, 2433), (2, 2434);
-- 学校用户权限:仅学生管理
INSERT INTO sys_role_menu (role_id, menu_id) VALUES
(3, 2200), (3, 2201), (3, 2202), (3, 2203), (3, 2204), (3, 2205), (3, 2206);