Merged
Merge Request #3 · created by 朱子纯


chore: add Flyway V3 seed migration, unify password to 666666

在初始种子数据合并后,补充以下两项改动:

  1. sql/seed_test_data.sql 移入 backend/src/main/resources/db/migration/V3__seed_test_data.sql,Spring Boot 启动时 Flyway 自动执行,无需手动导入。
  2. 统一所有测试账号密码为 666666(BCrypt 哈希),原 Admin@123 / Test@123 / Mgr@123 三种密码已移除。

From chore/seed-test-data into master

Merged by 朱子纯

1 participants
backend/src/main/resources/db/migration/V3__seed_test_data.sql 0 → 100644
  1 +-- Flyway migration V3 — seed test / demo data
  2 +-- Generated: 2026-05-08
  3 +-- 所有账号默认密码: 666666
  4 +-- 账号速查:
  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 (繁体语言)
  12 +
  13 +SET NAMES utf8mb4;
  14 +SET foreign_key_checks = 0;
  15 +
  16 +-- ------------------------------------------------------------
  17 +-- 1. brand(公司/品牌)
  18 +-- ------------------------------------------------------------
  19 +INSERT IGNORE INTO `brand`
  20 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sName`, `sShortName`, `sNo`)
  21 +VALUES
  22 + ('BR001', 'BR001', NULL, '2026-01-01 09:00:00', '小羚羊科技有限公司', '小羚羊科技', 'BR001'),
  23 + ('BR002', 'BR002', NULL, '2026-01-01 09:00:00', '羚羊贸易有限公司', '羚贸', 'BR002');
  24 +
  25 +-- ------------------------------------------------------------
  26 +-- 2. tStaff(职员)
  27 +-- ------------------------------------------------------------
  28 +INSERT IGNORE INTO `tStaff`
  29 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sStaffNo`, `sStaffName`, `sDepartment`, `sCreatedBy`, `bDeleted`)
  30 +VALUES
  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);
  37 +
  38 +-- ------------------------------------------------------------
  39 +-- 3. usr_permission_group(权限组)
  40 +-- ------------------------------------------------------------
  41 +INSERT IGNORE INTO `usr_permission_group`
  42 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sGroupCode`, `sGroupName`, `sCategory`)
  43 +VALUES
  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', '查看用户', '用户管理');
  51 +
  52 +-- ------------------------------------------------------------
  53 +-- 4. usr_user(用户)
  54 +-- 密码 666666 的 BCrypt 哈希(strength=10):
  55 +-- $2b$10$jNzLDTKf7QzFBr/.GqiUDOFftQDM.xmjOquieRL7K3c6kf7ujMOIy
  56 +-- ------------------------------------------------------------
  57 +INSERT IGNORE INTO `usr_user`
  58 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserCode`, `sUsername`,
  59 + `sPasswordHash`,
  60 + `sUserType`, `sLanguage`, `bCanEditDoc`, `bIsDisabled`, `sEmployeeId`, `sCreatorUsername`,
  61 + `tLastLoginDate`, `iLoginFailCount`, `tLockUntil`)
  62 +VALUES
  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),
  68 +
  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),
  74 +
  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),
  80 +
  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),
  86 +
  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),
  92 +
  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),
  98 +
  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 +
  105 +-- ------------------------------------------------------------
  106 +-- 5. usr_user_permission(用户权限关联)
  107 +-- ------------------------------------------------------------
  108 +INSERT IGNORE INTO `usr_user_permission`
  109 + (`sId`, `sBrandsId`, `sSubsidiaryId`, `tCreateDate`, `sUserId`, `sPermGroupId`)
  110 +VALUES
  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');
  117 +
  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;
... ...