feat: 新增电工 APP 账号开通与密码重置功能
- 新增后端重置密码接口及前端对应操作入口 - 新增补开电工 APP 账号的更新参数 - 新增 hasAccount 字段标识电工是否开通 APP 账号 - 新增数据库菜单及角色绑定支持密码重置权限 - 移除后台角色中错误的 WORKER 和 CUSTOMER 角色
This commit is contained in:
1 parent
6cf6a3d5b9
commit
f8117e33b6
9 files changed
+164
-18
No files matched your search
@@ -0,0 +1,14 @@
|
||||
-- 移除后台角色中的「共享电工(WORKER)」「客户(CUSTOMER)」
|
||||
-- 背景:电工走 worker 表、客户走 customer_account 表,均为独立账号体系,
|
||||
-- 不存在对应的 sys_user,因此这两个角色挂在后台「用户管理」中是语义错误
|
||||
-- (选中后永远不会关联到任何后台用户)。后台角色仅保留 ADMIN / SALESMAN。
|
||||
-- 影响:sys_user_role / sys_role_menu 通过外键 ON DELETE CASCADE 自动清理。
|
||||
-- 幂等:按 role_code 删除;重复执行无副作用。
|
||||
BEGIN;
|
||||
|
||||
DELETE FROM sys_role WHERE role_code IN ('WORKER', 'CUSTOMER');
|
||||
|
||||
-- 重置 sys_role 自增序列到当前最大 id,避免后续插入冲突
|
||||
SELECT setval('sys_role_id_seq', COALESCE((SELECT MAX(id) FROM sys_role), 1), true);
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,30 @@
|
||||
-- 电工登录密码维护
|
||||
-- 背景:worker 表已有 password_hash,但后台「电工登记管理」仅有新增/编辑/审核/删除,
|
||||
-- 无法为存量电工重置密码,也无法为当初未开通 APP 账号的电工补开账号。
|
||||
-- 本次新增按钮权限 worker:reset-password,用于控制「重置密码」操作入口。
|
||||
-- 幂等:菜单用 ON CONFLICT (id) DO UPDATE;角色绑定用 ON CONFLICT DO NOTHING。
|
||||
-- 注意:菜单 id 57,避开 34-56(34/36/51 为菜单项,其余为按钮/子项)。
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO sys_menu (id, parent_id, menu_name, menu_path, component, icon, sort_order, menu_type, permission, visible) VALUES
|
||||
(57, 3, '重置电工密码', NULL, NULL, NULL, 11, 3, 'worker:reset-password', 1)
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
parent_id = EXCLUDED.parent_id,
|
||||
menu_name = EXCLUDED.menu_name,
|
||||
menu_path = EXCLUDED.menu_path,
|
||||
component = EXCLUDED.component,
|
||||
icon = EXCLUDED.icon,
|
||||
sort_order = EXCLUDED.sort_order,
|
||||
menu_type = EXCLUDED.menu_type,
|
||||
permission = EXCLUDED.permission,
|
||||
visible = EXCLUDED.visible;
|
||||
|
||||
-- 角色绑定:ADMIN(role_id=1)拥有 57
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES
|
||||
(1, 57)
|
||||
ON CONFLICT (role_id, menu_id) DO NOTHING;
|
||||
|
||||
-- 重置 sys_menu 自增序列,避免后续插入 id 冲突
|
||||
SELECT setval('sys_menu_id_seq', 57, true);
|
||||
|
||||
COMMIT;
|
||||
Reference in new issue
Block a user