From 1b02862f56fc90459088a7850b1cbc66686ea29e Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 30 十月 2026 16:45:12 +0800
Subject: [PATCH] feat(order): 新增委托单级联删除服务 - 新增 InsOrderDeletionService,实现委托单及全部关联业务记录的级联删除 - 重构删除接口,增加权限校验和操作日志注解 - 委托单、报告、样品、样品接收、用章台账、过程报告等模块统一增加送样日期字段并按送样日期排序 - 委托单新增时校验送样日期不能为空 - 优化角色菜单权限,新增

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
index ed7e574..8b08363 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
@@ -254,15 +254,18 @@
                 // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄愶紝璺宠繃
                 continue;
             }
-            // 鍒ゆ柇璇ョ敤鎴锋槸鍚︽嫢鏈夋瑙掕壊
+            boolean previouslyHadRole = loginUser.getUser().getRoles() != null
+                    && loginUser.getUser().getRoles().stream().anyMatch(r -> roleId.equals(r.getRoleId()));
+            // 鏉冮檺璁$畻浼氬悓鏃惰鍙栧綋鍓嶈鑹插叧绯伙紝瑕嗙洊鏂板瑙掕壊鏈繘鍏ユ棫 token 鐨勬儏鍐点��
+            java.util.Set<String> permissions = permissionService.getMenuPermission(loginUser.getUser());
             boolean hasRole = loginUser.getUser().getRoles() != null
                     && loginUser.getUser().getRoles().stream().anyMatch(r -> roleId.equals(r.getRoleId()));
-            if (!hasRole)
+            if (!previouslyHadRole && !hasRole)
             {
                 continue;
             }
             // 鍒锋柊鏉冮檺缂撳瓨
-            loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
+            loginUser.setPermissions(permissions);
             refreshToken(loginUser);
             log.info("瑙掕壊[{}]鏉冮檺鍙樻洿锛屽凡鍒锋柊鍦ㄧ嚎鐢ㄦ埛[{}]鐨勬潈闄愮紦瀛�", roleId, loginUser.getUsername());
         }

--
Gitblit v1.9.3