Browse Source

Merge branches 'dev' and 'dev_partybranch' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_partybranch

dev
yinzuomei 5 years ago
parent
commit
b401510b9a
  1. 20
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java
  2. 9
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java
  3. 2
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java
  4. 33
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java
  5. 17
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml

20
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;
}

9
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<OperationScopeDefaultEntity> {
List<OperationScopeDefaultEntity> listAllValid();
/**
* 根据角色key和操作key查询默认操作权限列表
* @param roleKey
* @return
*/
List<OperationScopeDefaultResultDTO> listDefaultOpeScopes(@Param("roleKey") String roleKey);
}

2
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
*/

33
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<RoleOperationDao,
@Override
@Transactional
public void initDefaultOperationsForRoles(List<InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO> roles) {
List<OperationScopeDefaultEntity> validScopeDefaults = operationScopeDefaultDao.listAllValid();
HashMap<String, Set<String>> 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<RoleOperationDao,
if (!CollectionUtils.isEmpty(defaultOperations)) {
// 有的角色并没有配置默认的操作权限,应该忽略
initDefaultOperationsForRole(roleId, defaultOperations);
initDefaultOperationScopesForRole(roleId, defaultOperations, opeScopeMap);
initDefaultOperationScopesForRole(roleId, roleKey, defaultOperations);
}
}
}
@ -159,8 +157,10 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
* @param roleId 角色ID
* @param operations 该角色可以做的操作列表
*/
public void initDefaultOperationScopesForRole(String roleId, List<RoleOperationDefaultResultDTO> operations, HashMap<String, Set<String>> opeScopeMap) {
public void initDefaultOperationScopesForRole(String roleId, String roleKey, List<RoleOperationDefaultResultDTO> operations) {
HashMap<String, Set<String>> opeScopeMap = listDefaultOpeScopesMap(roleKey);
for (RoleOperationDefaultResultDTO operation : operations) {
// 该角色,该操作的操作范围列表
Set<String> scopeKeys4ThisOpe = opeScopeMap.get(operation.getOperationKey());
if (!CollectionUtils.isEmpty(scopeKeys4ThisOpe)) {
for (String scopeKey : scopeKeys4ThisOpe) {
@ -174,6 +174,11 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
}
}
private HashMap<String, Set<String>> listDefaultOpeScopesMap(String roleKey) {
List<OperationScopeDefaultResultDTO> defaultScopes = operationScopeDefaultDao.listDefaultOpeScopes(roleKey);
return convertScopeDefaultDto2Map(defaultScopes);
}
/**
* 将默认范围entity转换为map
* @param entities
@ -192,4 +197,22 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
return map;
}
/**
* 将默认范围dto转换为map
* @param dtos
* @return
*/
private HashMap<String, Set<String>> convertScopeDefaultDto2Map(List<OperationScopeDefaultResultDTO> dtos) {
HashMap<String, Set<String>> map = new HashMap<>();
for (OperationScopeDefaultResultDTO dto : dtos) {
Set<String> scopes = map.get(dto.getOperationKey());
if (scopes == null) {
scopes = new HashSet<>();
map.put(dto.getOperationKey(), scopes);
}
scopes.add(dto.getScopeKey());
}
return map;
}
}

17
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml

@ -5,6 +5,7 @@
<resultMap type="com.epmet.entity.OperationScopeDefaultEntity" id="operationScopeDefaultMap">
<result property="id" column="ID"/>
<result property="roleKey" column="ROLE_KEY"/>
<result property="operationKey" column="OPERATION_KEY"/>
<result property="scopeKey" column="SCOPE_KEY"/>
<result property="delFlag" column="DEL_FLAG"/>
@ -20,5 +21,21 @@
FROM operation_scope_default WHERE DEL_FLAG=0
</select>
<!--根据角色key和操作key查询默认操作权限列表-->
<select id="listDefaultOpeScopes" resultType="com.epmet.dto.result.OperationScopeDefaultResultDTO">
SELECT id,
role_key,
operation_key,
scope_key,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
FROM operation_scope_default
WHERE ROLE_KEY = #{roleKey}
</select>
</mapper>
Loading…
Cancel
Save