Browse Source

缓存读取角色有误

guarantee-lsq 2 years ago
parent
commit
6a8a0bc7b6

+ 13 - 2
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanRepairStrategy.java

@@ -17,7 +17,9 @@ import com.platform.dao.mapper.customize.CustomFieldTemplateDataMapper;
 import com.platform.dao.mapper.sb.SbPositionMapper;
 import com.platform.dao.mapper.upms.SysUserDeptMapper;
 import com.platform.dao.mapper.upms.SysUserMapper;
+import com.platform.dao.mapper.upms.SysUserRoleMapper;
 import com.platform.dao.util.MessageTemplateUtil;
+import com.platform.dao.vo.SysUserRoleVO;
 import com.platform.dao.vo.SysUserVO;
 import com.platform.service.part.PartInfoService;
 import com.platform.service.repair.strategy.AbstractRepairBaseStrategy;
@@ -55,6 +57,8 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
     private SysUserDeptMapper sysUserDeptMapper;
     @Resource
     private SysConfigService sysConfigService;
+    @Resource
+    private SysUserRoleMapper sysUserRoleMapper;
 
 
     /**
@@ -224,9 +228,16 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
     private String getCurrentRoles(){
         // 根据用户的角色来定
         StringBuilder roleCodes = new StringBuilder();
-        SecurityUtils.getUserInfo().getRoleCodes().forEach(item-> {
-            roleCodes.append(item).append(",");
+
+        List<SysUserRoleVO> roles = sysUserRoleMapper.selectRoleListByUserId(SecurityUtils.getUserInfo().getUserId());
+        roles.forEach(item->{
+            roleCodes.append(item.getRoleCode()).append("&");
         });
+        // 缓存会导致读取的值有误
+        /*SecurityUtils.getUserInfo().getRoleCodes().forEach(item-> {
+            roleCodes.append(item).append(",");
+        });*/
+
         return roleCodes.toString();
     }