-- ============================================================
-- 盘古用户平台 - 系统管理初始化数据（根据需求文档）
-- 作者：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);
