guarantee-lsq 2 жил өмнө
parent
commit
9c25edac00

+ 1 - 1
platform-common/src/main/java/com/platform/common/util/StringUtils.java

@@ -358,7 +358,7 @@ public class StringUtils {
         }
     }
 
-    public static String getRoles(){
+    public static String getRolesOld(){
         // 根据用户的角色来定
         StringBuilder roleCodes = new StringBuilder();
         SecurityUtils.getUserInfo().getRoleCodes().forEach(item-> {

+ 4 - 2
platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoController.java

@@ -25,6 +25,7 @@ import com.platform.office.poi.excel.entity.ImportParams;
 import com.platform.rest.log.annotation.SysLog;
 import com.platform.service.sb.SbInfoService;
 import com.platform.service.sb.impl.SbInfoServiceImpl;
+import com.platform.service.upms.SysUserRoleService;
 import lombok.AllArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -49,6 +50,7 @@ import java.util.List;
 public class SbInfoController {
 
     private final SbInfoService sbInfoService;
+    private final SysUserRoleService sysUserRoleService;
 
     /**
      * 设备工作台数据
@@ -212,7 +214,7 @@ public class SbInfoController {
     @PreAuthorize("@pms.hasPermission('sb-infos-del')")
     public R removeById(@PathVariable String id) {
         if(SecurityUtils.getUserInfo().getSuperAdmin() == 0){
-            String role = StringUtils.getRoles();
+            String role = sysUserRoleService.getRoleCodesByUserId();
             if(!role.contains(SysRoleCodeEnum.REPAIR_MANAGE.name()) && !role.contains(SysRoleCodeEnum.MM.name())){
                 throw new DeniedException("不具备删除权限");
             }
@@ -234,7 +236,7 @@ public class SbInfoController {
     @PreAuthorize("@pms.hasPermission('sb-infos-del')")
     public R removeIds(@RequestBody List<String> ids) {
         if(SecurityUtils.getUserInfo().getSuperAdmin() == 0){
-            String role = StringUtils.getRoles();
+            String role = sysUserRoleService.getRoleCodesByUserId();
             if(!role.contains(SysRoleCodeEnum.REPAIR_MANAGE.name()) && !role.contains(SysRoleCodeEnum.MM.name())){
                 throw new DeniedException("不具备删除权限");
             }

+ 19 - 1
platform-service/src/main/java/com/platform/service/hidden/impl/HiddenDangerServiceImpl.java

@@ -16,6 +16,8 @@ import com.platform.dao.enums.SysFileTypeEnum;
 import com.platform.dao.enums.SysRoleCodeEnum;
 import com.platform.dao.mapper.hidden.HiddenDangerMapper;
 import com.platform.dao.mapper.sb.SbPositionMapper;
+import com.platform.dao.mapper.upms.SysUserRoleMapper;
+import com.platform.dao.vo.SysUserRoleVO;
 import com.platform.dao.vo.query.hidden.HiddenDangerVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.hidden.HiddenDangerService;
@@ -46,6 +48,8 @@ public class HiddenDangerServiceImpl extends BaseServiceImpl<HiddenDangerMapper,
     private SbInfoService sbInfoService;
     @Resource
     private SbPositionMapper sbPositionMapper;
+    @Resource
+    private SysUserRoleMapper sysUserRoleMapper;
 
     @Override
     public int batchDelete(List<String> ids) {
@@ -91,7 +95,7 @@ public class HiddenDangerServiceImpl extends BaseServiceImpl<HiddenDangerMapper,
         if(StringUtils.isBlank(model.getId())){
             throw new DeniedException("隐患任务ID不能为空");
         }
-        String role = StringUtils.getRoles();
+        String role = getRoles();
         if(!role.contains(SysRoleCodeEnum.Maintenance_Leader.name())){
             throw new DeniedException("不具备该权限");
         }
@@ -130,6 +134,20 @@ public class HiddenDangerServiceImpl extends BaseServiceImpl<HiddenDangerMapper,
         mapper.updateByPrimaryKeySelective(updInfo);
     }
 
+    /**
+     * 获取当前用户的角色集合
+     * @return
+     */
+    private String getRoles(){
+        // 根据用户的角色来定
+        StringBuilder roleCodes = new StringBuilder();
+        List<SysUserRoleVO> roles = sysUserRoleMapper.selectRoleListByUserId(SecurityUtils.getUserInfo().getUserId());
+        roles.forEach(item->{
+            roleCodes.append(item.getRoleCode()).append("&");
+        });
+        return roleCodes.toString();
+    }
+
     @Override
     public HiddenDangerVO getVOById(String id) {
         HiddenDangerVO vo = BeanConverterUtil.copyObjectProperties(mapper.selectByPrimaryKey(id),HiddenDangerVO.class);

+ 20 - 1
platform-service/src/main/java/com/platform/service/preparation/impl/PreparationServiceImpl.java

@@ -18,7 +18,9 @@ import com.platform.dao.mapper.sb.SbPositionMapper;
 import com.platform.dao.mapper.upms.SysDeptMapper;
 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.dao.vo.query.preparation.PreparationVO;
 import com.platform.service.base.impl.BaseServiceImpl;
@@ -57,6 +59,8 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
     private SysFileService sysFileService;
     @Resource
     private SysDeptMapper sysDeptMapper;
+    @Resource
+    private SysUserRoleMapper sysUserRoleMapper;
 
     @Override
     public int batchDelete(List<String> ids) {
@@ -122,7 +126,7 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
 
     @Override
     public void dispatchPreparation(PreparationDTO model) {
-        String roles = com.platform.common.util.StringUtils.getRoles();
+        String roles = getRoles();
         if(!roles.contains(SysRoleCodeEnum.PREPARATION_MANAGER.name())){
             throw new DeniedException("不具备派单权限");
         }
@@ -147,6 +151,21 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         sendMessageToRepairer(userVOS,model);
     }
 
+    /**
+     * 获取当前用户的角色集合
+     * @return
+     */
+    private String getRoles(){
+        // 根据用户的角色来定
+        StringBuilder roleCodes = new StringBuilder();
+
+        List<SysUserRoleVO> roles = sysUserRoleMapper.selectRoleListByUserId(SecurityUtils.getUserInfo().getUserId());
+        roles.forEach(item->{
+            roleCodes.append(item.getRoleCode()).append("&");
+        });
+        return roleCodes.toString();
+    }
+
     @Override
     public void completePreparation(PreparationDTO model) {
         Preparation preparation = mapper.selectByPrimaryKey(model.getId());

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

@@ -461,7 +461,7 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
      */
     @Override
     public void stopRepairByPerson(RepairApplicationFormDTO model) {
-        String roles = StringUtils.getRoles();
+        String roles = getCurrentRoles();
         if(StringUtils.isBlank(model.getReportLeaderId())){
             throw new DeniedException("上报对象不能为空");
         }

+ 6 - 0
platform-service/src/main/java/com/platform/service/upms/SysUserRoleService.java

@@ -55,4 +55,10 @@ public interface SysUserRoleService extends IBaseService<SysUserRole, SysUserRol
      * @return :
      */
     List<SysUserRole> selectListByRoleAndUserStatus(String roleId, Integer status);
+
+    /**
+     * 根据用户ID获取角色code集合
+     * @return
+     */
+    String getRoleCodesByUserId();
 }

+ 12 - 0
platform-service/src/main/java/com/platform/service/upms/impl/SysUserRoleServiceImpl.java

@@ -2,6 +2,7 @@ package com.platform.service.upms.impl;
 
 
 import com.platform.common.util.ListUtils;
+import com.platform.common.util.SecurityUtils;
 import com.platform.dao.dto.upms.SysUserRoleDTO;
 import com.platform.dao.entity.upms.SysUserRole;
 import com.platform.dao.mapper.upms.SysUserRoleMapper;
@@ -57,4 +58,15 @@ public class SysUserRoleServiceImpl extends BaseServiceImpl<SysUserRoleMapper, S
     public List<SysUserRole> selectListByRoleAndUserStatus(String roleId, Integer status) {
         return mapper.selectListByRoleAndUserStatus(roleId, status);
     }
+
+    @Override
+    public String getRoleCodesByUserId() {
+        // 根据用户的角色来定
+        StringBuilder roleCodes = new StringBuilder();
+        List<SysUserRoleVO> roles = mapper.selectRoleListByUserId(SecurityUtils.getUserInfo().getUserId());
+        roles.forEach(item->{
+            roleCodes.append(item.getRoleCode()).append("&");
+        });
+        return roleCodes.toString();
+    }
 }