Commit b775836e1ffcea17e4e407d79911b991937a9955

Authored by zichun
1 parent f3af6823

chore: update seed data — unified password 666666, align with docs column format

backend/src/main/resources/db/migration/V3__seed_test_data.sql
1 1 -- Flyway migration V3 — seed test / demo data
2 2 -- Generated: 2026-05-08
  3 +-- 所有账号默认密码: 666666
3 4 -- 账号速查:
4   --- 品牌 BR001 超管: admin 密码 Admin@123
5   --- 品牌 BR001 普通: zhangwei 密码 Test@123 (有 usr:create + usr:view)
6   --- 品牌 BR001 普通: lina 密码 Test@123 (有 usr:view)
7   --- 品牌 BR001 普通: wanglei 密码 Test@123 (有 usr:view + doc:edit,bCanEditDoc=1)
8   --- 品牌 BR001 普通: locked_user 密码 Test@123 (已禁用)
9   --- 品牌 BR002 超管: admin 密码 Admin@123 (同名但不同品牌)
10   --- 品牌 BR002 普通: chenhao 密码 Mgr@123
  5 +-- 品牌 BR001 超管: admin 密码 666666
  6 +-- 品牌 BR001 普通: zhangwei 密码 666666 (有 usr:create + usr:view)
  7 +-- 品牌 BR001 普通: lina 密码 666666 (有 usr:view)
  8 +-- 品牌 BR001 普通: wanglei 密码 666666 (有 usr:view + doc:edit,bCanEditDoc=1)
  9 +-- 品牌 BR001 普通: locked_user 密码 666666 (已禁用 bIsDisabled=1)
  10 +-- 品牌 BR002 超管: admin 密码 666666 (同名不同品牌,跨租户隔离验证)
  11 +-- 品牌 BR002 普通: chenhao 密码 666666 (繁体语言)
11 12  
12 13 SET NAMES utf8mb4;
13 14 SET foreign_key_checks = 0;
14 15  
15 16 -- ------------------------------------------------------------
16   --- 1. brand
  17 +-- 1. brand(公司/品牌)
17 18 -- ------------------------------------------------------------
18 19 INSERT IGNORE INTO `brand`
19   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sName`, `sShortName`, `sNo`)
  20 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sName`, `sShortName`, `sNo`)
20 21 VALUES
21   - ('BR001', 'BR001', NULL, '2026-01-01 09:00:00', '小羚羊科技有限公司', '小羚羊科技', 'BR001'),
22   - ('BR002', 'BR002', NULL, '2026-01-01 09:00:00', '羚羊贸易有限公司', '羚贸', 'BR002');
  22 + ('BR001', 'BR001', NULL, '2026-01-01 09:00:00', '小羚羊科技有限公司', '小羚羊科技', 'BR001'),
  23 + ('BR002', 'BR002', NULL, '2026-01-01 09:00:00', '羚羊贸易有限公司', '羚贸', 'BR002');
23 24  
24 25 -- ------------------------------------------------------------
25   --- 2. tStaff
  26 +-- 2. tStaff(职员)
26 27 -- ------------------------------------------------------------
27 28 INSERT IGNORE INTO `tStaff`
28   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sStaffNo`, `sStaffName`, `sDepartment`, `sCreatedBy`, `bDeleted`)
  29 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sStaffNo`, `sStaffName`, `sDepartment`, `sCreatedBy`, `bDeleted`)
29 30 VALUES
30   - ('STAFF-001', 'BR001', NULL, '2026-01-01 09:00:00', 'E001', '张伟', '管理部', 'admin', 0),
31   - ('STAFF-002', 'BR001', NULL, '2026-01-01 09:00:00', 'E002', '李娜', '销售部', 'admin', 0),
32   - ('STAFF-003', 'BR001', NULL, '2026-01-01 09:00:00', 'E003', '王磊', '财务部', 'admin', 0),
33   - ('STAFF-004', 'BR001', NULL, '2026-01-01 09:00:00', 'E004', '刘洋', '仓储部', 'admin', 0),
34   - ('STAFF-005', 'BR002', NULL, '2026-01-01 09:00:00', 'E005', '陈浩', '管理部', 'admin', 0),
35   - ('STAFF-006', 'BR002', NULL, '2026-01-01 09:00:00', 'E006', '赵敏', '运营部', 'admin', 0);
  31 + ('STAFF-001', 'BR001', NULL, '2026-01-01 09:00:00', 'E001', '张伟', '管理部', 'admin', 0),
  32 + ('STAFF-002', 'BR001', NULL, '2026-01-01 09:00:00', 'E002', '李娜', '销售部', 'admin', 0),
  33 + ('STAFF-003', 'BR001', NULL, '2026-01-01 09:00:00', 'E003', '王磊', '财务部', 'admin', 0),
  34 + ('STAFF-004', 'BR001', NULL, '2026-01-01 09:00:00', 'E004', '刘洋', '仓储部', 'admin', 0),
  35 + ('STAFF-005', 'BR002', NULL, '2026-01-01 09:00:00', 'E005', '陈浩', '管理部', 'admin', 0),
  36 + ('STAFF-006', 'BR002', NULL, '2026-01-01 09:00:00', 'E006', '赵敏', '运营部', 'admin', 0);
36 37  
37 38 -- ------------------------------------------------------------
38   --- 3. usr_permission_group
  39 +-- 3. usr_permission_group(权限组)
39 40 -- ------------------------------------------------------------
40 41 INSERT IGNORE INTO `usr_permission_group`
41   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sGroupCode`, `sGroupName`, `sCategory`)
  42 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sGroupCode`, `sGroupName`, `sCategory`)
42 43 VALUES
43   - ('PG-B1-001', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
44   - ('PG-B1-002', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
45   - ('PG-B1-003', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理'),
46   - ('PG-B1-004', 'BR001', NULL, '2026-01-01 09:00:00', 'doc:edit', '单据修改', '单据管理'),
47   - ('PG-B2-001', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
48   - ('PG-B2-002', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
49   - ('PG-B2-003', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理');
  44 + ('PG-B1-001', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
  45 + ('PG-B1-002', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
  46 + ('PG-B1-003', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理'),
  47 + ('PG-B1-004', 'BR001', NULL, '2026-01-01 09:00:00', 'doc:edit', '单据修改', '单据管理'),
  48 + ('PG-B2-001', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
  49 + ('PG-B2-002', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
  50 + ('PG-B2-003', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理');
50 51  
51 52 -- ------------------------------------------------------------
52   --- 4. usr_user
53   --- 密码哈希:
54   --- Admin@123 → $2b$10$khppncqEcBIKXWx4WKBZB.NyFUpm/NDGKnISRvOWbskDKE6dcL1Ze
55   --- Test@123 → $2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632
56   --- Mgr@123 → $2b$10$hOa8yBAohVkjhTO3iMsE6Ov1mPA2UcoUId2NukwVBsB4b7j9Rs8l6
  53 +-- 4. usr_user(用户)
  54 +-- 密码 666666 的 BCrypt 哈希(strength=10):
  55 +-- $2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy
57 56 -- ------------------------------------------------------------
58 57 INSERT IGNORE INTO `usr_user`
59   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserCode`, `sUsername`, `sPasswordHash`,
60   - `sUserType`, `sLanguage`, `bCanEditDoc`, `bIsDisabled`, `sEmployeeId`, `sCreatorUsername`,
  58 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserCode`, `sUsername`,
  59 + `sPasswordHash`,
  60 + `sUserType`, `sLanguage`, `bCanEditDoc`, `bIsDisabled`, `sEmployeeId`, `sCreatorUsername`,
61 61 `tLastLoginDate`, `iLoginFailCount`, `tLockUntil`)
62 62 VALUES
63   - ('USR-B1-001', 'BR001', NULL, '2026-01-01 09:00:00',
64   - 'UC001', 'admin', '$2b$10$khppncqEcBIKXWx4WKBZB.NyFUpm/NDGKnISRvOWbskDKE6dcL1Ze',
65   - '超级管理员', '中文', 0, 0, NULL, 'system', NULL, 0, NULL),
  63 + -- 品牌 BR001 — 超级管理员
  64 + ('USR-B1-001', 'BR001', NULL, '2026-01-01 09:00:00', 'UC001', 'admin',
  65 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  66 + '超级管理员', '中文', 0, 0, NULL, 'system',
  67 + NULL, 0, NULL),
66 68  
67   - ('USR-B1-002', 'BR001', NULL, '2026-01-02 10:00:00',
68   - 'UC002', 'zhangwei', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
69   - '普通用户', '中文', 0, 0, 'STAFF-001', 'admin', NULL, 0, NULL),
  69 + -- 品牌 BR001 — 普通用户,关联张伟,有 usr:create + usr:view
  70 + ('USR-B1-002', 'BR001', NULL, '2026-01-02 10:00:00', 'UC002', 'zhangwei',
  71 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  72 + '普通用户', '中文', 0, 0, 'STAFF-001', 'admin',
  73 + NULL, 0, NULL),
70 74  
71   - ('USR-B1-003', 'BR001', NULL, '2026-01-02 10:30:00',
72   - 'UC003', 'lina', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
73   - '普通用户', '英文', 0, 0, 'STAFF-002', 'admin', NULL, 0, NULL),
  75 + -- 品牌 BR001 — 普通用户,关联李娜,有 usr:view
  76 + ('USR-B1-003', 'BR001', NULL, '2026-01-02 10:30:00', 'UC003', 'lina',
  77 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  78 + '普通用户', '英文', 0, 0, 'STAFF-002', 'admin',
  79 + NULL, 0, NULL),
74 80  
75   - ('USR-B1-004', 'BR001', NULL, '2026-01-03 09:00:00',
76   - 'UC004', 'wanglei', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
77   - '普通用户', '中文', 1, 0, 'STAFF-003', 'admin', NULL, 0, NULL),
  81 + -- 品牌 BR001 — 普通用户,关联王磊,有 usr:view + doc:edit,bCanEditDoc=1
  82 + ('USR-B1-004', 'BR001', NULL, '2026-01-03 09:00:00', 'UC004', 'wanglei',
  83 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  84 + '普通用户', '中文', 1, 0, 'STAFF-003', 'admin',
  85 + NULL, 0, NULL),
78 86  
79   - ('USR-B1-005', 'BR001', NULL, '2026-01-04 09:00:00',
80   - 'UC005', 'locked_user', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
81   - '普通用户', '中文', 0, 1, NULL, 'admin', NULL, 0, NULL),
  87 + -- 品牌 BR001 — 已禁用账号,测试禁用登录场景
  88 + ('USR-B1-005', 'BR001', NULL, '2026-01-04 09:00:00', 'UC005', 'locked_user',
  89 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  90 + '普通用户', '中文', 0, 1, NULL, 'admin',
  91 + NULL, 0, NULL),
82 92  
83   - ('USR-B2-001', 'BR002', NULL, '2026-01-01 09:00:00',
84   - 'UC101', 'admin', '$2b$10$khppncqEcBIKXWx4WKBZB.NyFUpm/NDGKnISRvOWbskDKE6dcL1Ze',
85   - '超级管理员', '中文', 0, 0, NULL, 'system', NULL, 0, NULL),
  93 + -- 品牌 BR002 — 超级管理员,同名 admin 跨品牌隔离验证
  94 + ('USR-B2-001', 'BR002', NULL, '2026-01-01 09:00:00', 'UC101', 'admin',
  95 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  96 + '超级管理员', '中文', 0, 0, NULL, 'system',
  97 + NULL, 0, NULL),
86 98  
87   - ('USR-B2-002', 'BR002', NULL, '2026-01-02 09:00:00',
88   - 'UC102', 'chenhao', '$2b$10$hOa8yBAohVkjhTO3iMsE6Ov1mPA2UcoUId2NukwVBsB4b7j9Rs8l6',
89   - '普通用户', '繁体', 0, 0, 'STAFF-005', 'admin', NULL, 0, NULL);
  99 + -- 品牌 BR002 — 普通用户,关联陈浩,繁体语言
  100 + ('USR-B2-002', 'BR002', NULL, '2026-01-02 09:00:00', 'UC102', 'chenhao',
  101 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  102 + '普通用户', '繁体', 0, 0, 'STAFF-005', 'admin',
  103 + NULL, 0, NULL);
90 104  
91 105 -- ------------------------------------------------------------
92   --- 5. usr_user_permission
  106 +-- 5. usr_user_permission(用户权限关联)
93 107 -- ------------------------------------------------------------
94 108 INSERT IGNORE INTO `usr_user_permission`
95   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserId`, `sPermGroupId`)
  109 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserId`, `sPermGroupId`)
96 110 VALUES
97   - ('UPM-001', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-001'),
98   - ('UPM-002', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-003'),
99   - ('UPM-003', 'BR001', NULL, '2026-01-02 10:30:00', 'USR-B1-003', 'PG-B1-003'),
100   - ('UPM-004', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-003'),
101   - ('UPM-005', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-004'),
102   - ('UPM-006', 'BR002', NULL, '2026-01-02 09:00:00', 'USR-B2-002', 'PG-B2-003');
  111 + ('UPM-001', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-001'),
  112 + ('UPM-002', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-003'),
  113 + ('UPM-003', 'BR001', NULL, '2026-01-02 10:30:00', 'USR-B1-003', 'PG-B1-003'),
  114 + ('UPM-004', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-003'),
  115 + ('UPM-005', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-004'),
  116 + ('UPM-006', 'BR002', NULL, '2026-01-02 09:00:00', 'USR-B2-002', 'PG-B2-003');
103 117  
104 118 SET foreign_key_checks = 1;
... ...
sql/seed_test_data.sql
1   --- ============================================================
2   --- 测试数据集 — 小羚羊 ERP
3   --- 适用环境: 开发 / 演示 / 手工测试
4   --- 执行方式: mysql -h<host> -P<port> -u<user> -p<pass> <schema> < sql/seed_test_data.sql
5   --- 幂等: 全部使用 INSERT IGNORE,可重复执行
6   --- ============================================================
  1 +-- Flyway migration V3 — seed test / demo data
  2 +-- Generated: 2026-05-08
  3 +-- 所有账号默认密码: 666666
7 4 -- 账号速查:
8   --- 品牌 BR001 超管: admin 密码 Admin@123
9   --- 品牌 BR001 普通: zhangwei 密码 Test@123 (有 usr:create + usr:view)
10   --- 品牌 BR001 普通: lina 密码 Test@123 (有 usr:view)
11   --- 品牌 BR001 普通: wanglei 密码 Test@123 (有 usr:view + doc:edit,可改单据)
12   --- 品牌 BR001 普通: locked_user 密码 Test@123 (已禁用)
13   --- 品牌 BR002 超管: admin 密码 Admin@123 (同名但不同品牌)
14   --- 品牌 BR002 普通: chenhao 密码 Mgr@123
15   --- ============================================================
  5 +-- 品牌 BR001 超管: admin 密码 666666
  6 +-- 品牌 BR001 普通: zhangwei 密码 666666 (有 usr:create + usr:view)
  7 +-- 品牌 BR001 普通: lina 密码 666666 (有 usr:view)
  8 +-- 品牌 BR001 普通: wanglei 密码 666666 (有 usr:view + doc:edit,bCanEditDoc=1)
  9 +-- 品牌 BR001 普通: locked_user 密码 666666 (已禁用 bIsDisabled=1)
  10 +-- 品牌 BR002 超管: admin 密码 666666 (同名不同品牌,跨租户隔离验证)
  11 +-- 品牌 BR002 普通: chenhao 密码 666666 (繁体语言)
16 12  
17 13 SET NAMES utf8mb4;
18 14 SET foreign_key_checks = 0;
... ... @@ -21,102 +17,102 @@ SET foreign_key_checks = 0;
21 17 -- 1. brand(公司/品牌)
22 18 -- ------------------------------------------------------------
23 19 INSERT IGNORE INTO `brand`
24   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sName`, `sShortName`, `sNo`)
  20 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sName`, `sShortName`, `sNo`)
25 21 VALUES
26   - ('BR001', 'BR001', NULL, '2026-01-01 09:00:00', '小羚羊科技有限公司', '小羚羊科技', 'BR001'),
27   - ('BR002', 'BR002', NULL, '2026-01-01 09:00:00', '羚羊贸易有限公司', '羚贸', 'BR002');
  22 + ('BR001', 'BR001', NULL, '2026-01-01 09:00:00', '小羚羊科技有限公司', '小羚羊科技', 'BR001'),
  23 + ('BR002', 'BR002', NULL, '2026-01-01 09:00:00', '羚羊贸易有限公司', '羚贸', 'BR002');
28 24  
29 25 -- ------------------------------------------------------------
30 26 -- 2. tStaff(职员)
31 27 -- ------------------------------------------------------------
32 28 INSERT IGNORE INTO `tStaff`
33   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sStaffNo`, `sStaffName`, `sDepartment`, `sCreatedBy`, `bDeleted`)
  29 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sStaffNo`, `sStaffName`, `sDepartment`, `sCreatedBy`, `bDeleted`)
34 30 VALUES
35   - ('STAFF-001', 'BR001', NULL, '2026-01-01 09:00:00', 'E001', '张伟', '管理部', 'admin', 0),
36   - ('STAFF-002', 'BR001', NULL, '2026-01-01 09:00:00', 'E002', '李娜', '销售部', 'admin', 0),
37   - ('STAFF-003', 'BR001', NULL, '2026-01-01 09:00:00', 'E003', '王磊', '财务部', 'admin', 0),
38   - ('STAFF-004', 'BR001', NULL, '2026-01-01 09:00:00', 'E004', '刘洋', '仓储部', 'admin', 0),
39   - ('STAFF-005', 'BR002', NULL, '2026-01-01 09:00:00', 'E005', '陈浩', '管理部', 'admin', 0),
40   - ('STAFF-006', 'BR002', NULL, '2026-01-01 09:00:00', 'E006', '赵敏', '运营部', 'admin', 0);
  31 + ('STAFF-001', 'BR001', NULL, '2026-01-01 09:00:00', 'E001', '张伟', '管理部', 'admin', 0),
  32 + ('STAFF-002', 'BR001', NULL, '2026-01-01 09:00:00', 'E002', '李娜', '销售部', 'admin', 0),
  33 + ('STAFF-003', 'BR001', NULL, '2026-01-01 09:00:00', 'E003', '王磊', '财务部', 'admin', 0),
  34 + ('STAFF-004', 'BR001', NULL, '2026-01-01 09:00:00', 'E004', '刘洋', '仓储部', 'admin', 0),
  35 + ('STAFF-005', 'BR002', NULL, '2026-01-01 09:00:00', 'E005', '陈浩', '管理部', 'admin', 0),
  36 + ('STAFF-006', 'BR002', NULL, '2026-01-01 09:00:00', 'E006', '赵敏', '运营部', 'admin', 0);
41 37  
42 38 -- ------------------------------------------------------------
43 39 -- 3. usr_permission_group(权限组)
44 40 -- ------------------------------------------------------------
45 41 INSERT IGNORE INTO `usr_permission_group`
46   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sGroupCode`, `sGroupName`, `sCategory`)
  42 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sGroupCode`, `sGroupName`, `sCategory`)
47 43 VALUES
48   - -- 品牌 BR001
49   - ('PG-B1-001', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
50   - ('PG-B1-002', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
51   - ('PG-B1-003', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理'),
52   - ('PG-B1-004', 'BR001', NULL, '2026-01-01 09:00:00', 'doc:edit', '单据修改', '单据管理'),
53   - -- 品牌 BR002
54   - ('PG-B2-001', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
55   - ('PG-B2-002', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
56   - ('PG-B2-003', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理');
  44 + ('PG-B1-001', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
  45 + ('PG-B1-002', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
  46 + ('PG-B1-003', 'BR001', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理'),
  47 + ('PG-B1-004', 'BR001', NULL, '2026-01-01 09:00:00', 'doc:edit', '单据修改', '单据管理'),
  48 + ('PG-B2-001', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:create', '新增用户', '用户管理'),
  49 + ('PG-B2-002', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:edit', '修改用户', '用户管理'),
  50 + ('PG-B2-003', 'BR002', NULL, '2026-01-01 09:00:00', 'usr:view', '查看用户', '用户管理');
57 51  
58 52 -- ------------------------------------------------------------
59 53 -- 4. usr_user(用户)
60   --- 密码说明:
61   --- Admin@123 → $2b$10$khppncqEcBIKXWx4WKBZB.NyFUpm/NDGKnISRvOWbskDKE6dcL1Ze
62   --- Test@123 → $2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632
63   --- Mgr@123 → $2b$10$hOa8yBAohVkjhTO3iMsE6Ov1mPA2UcoUId2NukwVBsB4b7j9Rs8l6
  54 +-- 密码 666666 的 BCrypt 哈希(strength=10):
  55 +-- $2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy
64 56 -- ------------------------------------------------------------
65 57 INSERT IGNORE INTO `usr_user`
66   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserCode`, `sUsername`, `sPasswordHash`,
  58 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserCode`, `sUsername`,
  59 + `sPasswordHash`,
67 60 `sUserType`, `sLanguage`, `bCanEditDoc`, `bIsDisabled`, `sEmployeeId`, `sCreatorUsername`,
68 61 `tLastLoginDate`, `iLoginFailCount`, `tLockUntil`)
69 62 VALUES
70 63 -- 品牌 BR001 — 超级管理员
71   - ('USR-B1-001', 'BR001', NULL, '2026-01-01 09:00:00',
72   - 'UC001', 'admin', '$2b$10$khppncqEcBIKXWx4WKBZB.NyFUpm/NDGKnISRvOWbskDKE6dcL1Ze',
73   - '超级管理员', '中文', 0, 0, NULL, 'system', NULL, 0, NULL),
  64 + ('USR-B1-001', 'BR001', NULL, '2026-01-01 09:00:00', 'UC001', 'admin',
  65 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  66 + '超级管理员', '中文', 0, 0, NULL, 'system',
  67 + NULL, 0, NULL),
74 68  
75   - -- 品牌 BR001 — 普通用户(关联职员张伟,有新增+查看权限)
76   - ('USR-B1-002', 'BR001', NULL, '2026-01-02 10:00:00',
77   - 'UC002', 'zhangwei', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
78   - '普通用户', '中文', 0, 0, 'STAFF-001', 'admin', NULL, 0, NULL),
  69 + -- 品牌 BR001 — 普通用户,关联张伟,有 usr:create + usr:view
  70 + ('USR-B1-002', 'BR001', NULL, '2026-01-02 10:00:00', 'UC002', 'zhangwei',
  71 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  72 + '普通用户', '中文', 0, 0, 'STAFF-001', 'admin',
  73 + NULL, 0, NULL),
79 74  
80   - -- 品牌 BR001 — 普通用户(关联职员李娜,仅查看权限)
81   - ('USR-B1-003', 'BR001', NULL, '2026-01-02 10:30:00',
82   - 'UC003', 'lina', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
83   - '普通用户', '英文', 0, 0, 'STAFF-002', 'admin', NULL, 0, NULL),
  75 + -- 品牌 BR001 — 普通用户,关联李娜,有 usr:view
  76 + ('USR-B1-003', 'BR001', NULL, '2026-01-02 10:30:00', 'UC003', 'lina',
  77 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  78 + '普通用户', '英文', 0, 0, 'STAFF-002', 'admin',
  79 + NULL, 0, NULL),
84 80  
85   - -- 品牌 BR001 — 普通用户(关联职员王磊,有查看+单据修改权限)
86   - ('USR-B1-004', 'BR001', NULL, '2026-01-03 09:00:00',
87   - 'UC004', 'wanglei', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
88   - '普通用户', '中文', 1, 0, 'STAFF-003', 'admin', NULL, 0, NULL),
  81 + -- 品牌 BR001 — 普通用户,关联王磊,有 usr:view + doc:edit,bCanEditDoc=1
  82 + ('USR-B1-004', 'BR001', NULL, '2026-01-03 09:00:00', 'UC004', 'wanglei',
  83 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  84 + '普通用户', '中文', 1, 0, 'STAFF-003', 'admin',
  85 + NULL, 0, NULL),
89 86  
90   - -- 品牌 BR001 — 已禁用账号(测试禁用登录场景)
91   - ('USR-B1-005', 'BR001', NULL, '2026-01-04 09:00:00',
92   - 'UC005', 'locked_user', '$2b$10$JdsHfv.wG2hWkzFO5Ui/euK3wBzK2O1TbLSKKDzZJodVZ5SOVI632',
93   - '普通用户', '中文', 0, 1, NULL, 'admin', NULL, 0, NULL),
  87 + -- 品牌 BR001 — 已禁用账号,测试禁用登录场景
  88 + ('USR-B1-005', 'BR001', NULL, '2026-01-04 09:00:00', 'UC005', 'locked_user',
  89 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  90 + '普通用户', '中文', 0, 1, NULL, 'admin',
  91 + NULL, 0, NULL),
94 92  
95   - -- 品牌 BR002 — 超级管理员(同名 admin,跨品牌隔离验证)
96   - ('USR-B2-001', 'BR002', NULL, '2026-01-01 09:00:00',
97   - 'UC101', 'admin', '$2b$10$khppncqEcBIKXWx4WKBZB.NyFUpm/NDGKnISRvOWbskDKE6dcL1Ze',
98   - '超级管理员', '中文', 0, 0, NULL, 'system', NULL, 0, NULL),
  93 + -- 品牌 BR002 — 超级管理员,同名 admin 跨品牌隔离验证
  94 + ('USR-B2-001', 'BR002', NULL, '2026-01-01 09:00:00', 'UC101', 'admin',
  95 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  96 + '超级管理员', '中文', 0, 0, NULL, 'system',
  97 + NULL, 0, NULL),
99 98  
100   - -- 品牌 BR002 — 普通用户(关联职员陈浩,繁体语言)
101   - ('USR-B2-002', 'BR002', NULL, '2026-01-02 09:00:00',
102   - 'UC102', 'chenhao', '$2b$10$hOa8yBAohVkjhTO3iMsE6Ov1mPA2UcoUId2NukwVBsB4b7j9Rs8l6',
103   - '普通用户', '繁体', 0, 0, 'STAFF-005', 'admin', NULL, 0, NULL);
  99 + -- 品牌 BR002 — 普通用户,关联陈浩,繁体语言
  100 + ('USR-B2-002', 'BR002', NULL, '2026-01-02 09:00:00', 'UC102', 'chenhao',
  101 + '$2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy',
  102 + '普通用户', '繁体', 0, 0, 'STAFF-005', 'admin',
  103 + NULL, 0, NULL);
104 104  
105 105 -- ------------------------------------------------------------
106 106 -- 5. usr_user_permission(用户权限关联)
107 107 -- ------------------------------------------------------------
108 108 INSERT IGNORE INTO `usr_user_permission`
109   - (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserId`, `sPermGroupId`)
  109 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserId`, `sPermGroupId`)
110 110 VALUES
111   - -- zhangwei: usr:create + usr:view
112   - ('UPM-001', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-001'),
113   - ('UPM-002', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-003'),
114   - -- lina: usr:view
115   - ('UPM-003', 'BR001', NULL, '2026-01-02 10:30:00', 'USR-B1-003', 'PG-B1-003'),
116   - -- wanglei: usr:view + doc:edit
117   - ('UPM-004', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-003'),
118   - ('UPM-005', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-004'),
119   - -- chenhao: usr:view
120   - ('UPM-006', 'BR002', NULL, '2026-01-02 09:00:00', 'USR-B2-002', 'PG-B2-003');
  111 + ('UPM-001', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-001'),
  112 + ('UPM-002', 'BR001', NULL, '2026-01-02 10:00:00', 'USR-B1-002', 'PG-B1-003'),
  113 + ('UPM-003', 'BR001', NULL, '2026-01-02 10:30:00', 'USR-B1-003', 'PG-B1-003'),
  114 + ('UPM-004', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-003'),
  115 + ('UPM-005', 'BR001', NULL, '2026-01-03 09:00:00', 'USR-B1-004', 'PG-B1-004'),
  116 + ('UPM-006', 'BR002', NULL, '2026-01-02 09:00:00', 'USR-B2-002', 'PG-B2-003');
121 117  
122 118 SET foreign_key_checks = 1;
... ...