This commit is contained in:
gr
2026-10-15 11:03:54 +08:00
parent 70ddc1a70a
commit bb28d93cec
64 changed files with 12747 additions and 420 deletions
@@ -0,0 +1,23 @@
-- 「我的复诊接诊率」卡片接口权限(方案 §10 D1-h,P2),挂在「个人业绩」页面(perms=stats.assistantPerformance/overview, type=C) 下。
-- 为什么必须登记:AuthMiddleware.php:111-117 对「未在菜单登记」的接口对所有登录账号直接放行,
-- 因此 stats.assistantPerformance/revisitRate 登记为 A 类权限点,未授权账号调用返回「权限不足」。
-- 为什么自动授权:该接口只返回本人行(RevisitRateLogic::assistantOverview),与个人业绩页同受众;
-- 末尾 INSERT IGNORE 把该权限点授予所有已拥有个人业绩页的角色,避免「登记后卡片报权限不足」
-- (写法照抄 1.9.20260803/add_performance_dashboard_menu.sql:50-56 / 本目录 05_add_revisit_due_menu.sql)。
-- 超管(root=1)不走菜单校验;「全部菜单」类角色若按 * 配置需人工复核。执行后需清理 AdminAuthCache 或等缓存过期。
-- 幂等:INSERT … SELECT … WHERE NOT EXISTS,可重复执行。
SET @perf_menu_id := (SELECT id FROM zyt_system_menu WHERE perms = 'stats.assistantPerformance/overview' AND type = 'C' LIMIT 1);
INSERT INTO zyt_system_menu (pid, type, name, icon, sort, perms, paths, component, selected, params, is_cache, is_show, is_disable, create_time, update_time)
SELECT @perf_menu_id, 'A', '个人业绩-我的复诊接诊率', '', 10, 'stats.assistantPerformance/revisitRate', '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
FROM DUAL
WHERE @perf_menu_id IS NOT NULL
AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'stats.assistantPerformance/revisitRate');
-- 自动授予:所有已拥有「个人业绩」页面权限的角色,默认获得「我的复诊接诊率」权限点
INSERT IGNORE INTO zyt_system_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, m2.id
FROM zyt_system_role_menu rm
INNER JOIN zyt_system_menu m1 ON m1.id = rm.menu_id AND m1.perms = 'stats.assistantPerformance/overview'
INNER JOIN zyt_system_menu m2 ON m2.perms = 'stats.assistantPerformance/revisitRate';