云
15 小时以前 3b5c522aad27543ea3cdddf43ff963c14c06adf2
fix(cache): 修复权限缓存清理脚本并更新公司配置

- 在清理脚本中添加sys模块导入以支持命令行参数解析
- 为菜单角色ID缓存键添加扫描功能,支持通过命令行参数指定后缀
- 更新SQL注释,标记人资敏感数据权限授予操作已确认
- 交换HM和TRT公司的配置,将长辉电力分配给HM,北京同仁堂分配给TRT
已修改2个文件
11 ■■■■■ 文件已修改
scripts/clear_unit_permission_cache.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/menu_page_query_role_grants_pending.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
scripts/clear_unit_permission_cache.py
@@ -1,6 +1,7 @@
import socket
import re
import json
import sys
from pathlib import Path
source = Path('yudao-server/src/main/resources/application-local.yaml').read_text(encoding='utf-8')
@@ -44,6 +45,14 @@
    keys.extend(key for key in batch if key.decode().endswith(suffixes))
    if cursor == b'0':
        break
menu_suffixes = tuple(':' + str(int(value)) for value in sys.argv[1:])
if menu_suffixes:
    cursor = b'0'
    while True:
        cursor, batch = command('SCAN', cursor, 'MATCH', '*menu_role_ids*', 'COUNT', 100)
        keys.extend(key for key in batch if key.decode().endswith(menu_suffixes))
        if cursor == b'0':
            break
print('Target permission cache keys:', [key.decode() for key in keys])
if keys:
    print('Deleted permission cache entries:', command('DEL', *keys))
sql/mysql/menu_page_query_role_grants_pending.sql
@@ -1,3 +1,3 @@
-- 待用户确认:给已有对应页面授权的角色补授查询权限,包含人资敏感数据。
-- 用户于 2026-10-12 确认允许执行:给已有对应页面授权的角色补授查询权限,包含人资敏感数据。
INSERT INTO `mom-hm`.system_role_menu (role_id,menu_id,creator,create_time,updater,update_time,deleted)
SELECT DISTINCT parentGrant.role_id,m.id,'1',NOW(),'1',NOW(),b'0' FROM `mom-hm`.system_menu m JOIN `mom-hm`.system_role_menu parentGrant ON parentGrant.menu_id=m.parent_id AND parentGrant.deleted=b'0' JOIN `mom-hm`.system_role r ON r.id=parentGrant.role_id AND r.deleted=b'0' AND r.status=0 WHERE m.permission IN ('bi:dashboard:query','bpm:oa-notice:query','crm:invoice:query','crm:sale-quotation:query','erp:purchase-request:query','hrm:overtime:query','hrm:resignation:query','hrm:transfer:query','hrm:attendance-exception:query','hrm:attendance-holiday:query','hrm:attendance-record:query','hrm:attendance-rule:query','hrm:attendance-summary:query','hrm:employee-social-security:query','hrm:salary-calculation:query','hrm:salary-payment:query','hrm:social-security-scheme:query','hrm:tax-rate-config:query','mes:pd-document:query','mes:pd-process-param:query','mes:pd-process-param-template:query','mes:pro-mps:query','srm:tender-config:query') AND m.deleted=b'0' AND m.status=0 AND NOT EXISTS (SELECT 1 FROM `mom-hm`.system_role_menu rm WHERE rm.role_id=parentGrant.role_id AND rm.menu_id=m.id);