diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java new file mode 100644 index 0000000000..4c1f593712 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +@Data +public class OperationScopeDefaultResultDTO { + + private String roleKey; + + /** + * 操作key + */ + private String operationKey; + + /** + * 范围key + */ + private String scopeKey; + +} diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java index 5e38a89f31..2c54dccd0e 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java @@ -18,8 +18,10 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.OperationScopeDefaultResultDTO; import com.epmet.entity.OperationScopeDefaultEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -32,4 +34,11 @@ import java.util.List; @Mapper public interface OperationScopeDefaultDao extends BaseDao { List listAllValid(); + + /** + * 根据角色key和操作key查询默认操作权限列表 + * @param roleKey + * @return + */ + List listDefaultOpeScopes(@Param("roleKey") String roleKey); } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java index 04d8f7baf9..6ec89eb12b 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java @@ -38,6 +38,8 @@ public class OperationScopeDefaultEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; + private String roleKey; + /** * 操作key */ diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java index e3c4d16d5d..28943e74b8 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.dao.RoleOperationDefaultDao; import com.epmet.dao.RoleScopeDao; import com.epmet.dto.RoleOperationDTO; import com.epmet.dto.form.InitDefaultOperationsFormDTO; +import com.epmet.dto.result.OperationScopeDefaultResultDTO; import com.epmet.dto.result.RoleOperationDefaultResultDTO; import com.epmet.dto.result.RoleOperationResultDTO; import com.epmet.entity.OperationScopeDefaultEntity; @@ -124,9 +125,6 @@ public class RoleOperationServiceImpl extends BaseServiceImpl roles) { - List validScopeDefaults = operationScopeDefaultDao.listAllValid(); - HashMap> opeScopeMap = convertScopeDefaultEntity2Map(validScopeDefaults); - for (InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO role : roles) { String roleId = role.getRoleId(); String roleKey = role.getRoleKey(); @@ -134,7 +132,7 @@ public class RoleOperationServiceImpl extends BaseServiceImpl operations, HashMap> opeScopeMap) { + public void initDefaultOperationScopesForRole(String roleId, String roleKey, List operations) { + HashMap> opeScopeMap = listDefaultOpeScopesMap(roleKey); for (RoleOperationDefaultResultDTO operation : operations) { + // 该角色,该操作的操作范围列表 Set scopeKeys4ThisOpe = opeScopeMap.get(operation.getOperationKey()); if (!CollectionUtils.isEmpty(scopeKeys4ThisOpe)) { for (String scopeKey : scopeKeys4ThisOpe) { @@ -174,6 +174,11 @@ public class RoleOperationServiceImpl extends BaseServiceImpl> listDefaultOpeScopesMap(String roleKey) { + List defaultScopes = operationScopeDefaultDao.listDefaultOpeScopes(roleKey); + return convertScopeDefaultDto2Map(defaultScopes); + } + /** * 将默认范围entity转换为map * @param entities @@ -192,4 +197,22 @@ public class RoleOperationServiceImpl extends BaseServiceImpl> convertScopeDefaultDto2Map(List dtos) { + HashMap> map = new HashMap<>(); + for (OperationScopeDefaultResultDTO dto : dtos) { + Set scopes = map.get(dto.getOperationKey()); + if (scopes == null) { + scopes = new HashSet<>(); + map.put(dto.getOperationKey(), scopes); + } + scopes.add(dto.getScopeKey()); + } + return map; + } + } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml index 5e3e76a426..1145048233 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml @@ -5,6 +5,7 @@ + @@ -20,5 +21,21 @@ FROM operation_scope_default WHERE DEL_FLAG=0 + + + \ No newline at end of file