|
|
@@ -92,8 +92,29 @@ public class RoleServiceImpl extends CommonBaseServiceImpl<RoleMapper, Role> imp
|
|
|
public List<PowerDTO> getResourcePowerById(Long id) {
|
|
|
List<PowerDTO> powerDTOList = new ArrayList<PowerDTO>();
|
|
|
List<Map<String, Object>> classifyList = roleResourceMapper.selectClassifyByRoleId(id);
|
|
|
+ List<PowerInfo> powerInfoList = roleResourceMapper.selectPowerInfo();
|
|
|
List<OtherPower> otherPowerList = roleResourceMapper.selectOthersPower();
|
|
|
- //查询所有模块
|
|
|
+
|
|
|
+ for (PowerInfo powerInfo : powerInfoList){
|
|
|
+ PowerDTO powerDTO = new PowerDTO();
|
|
|
+ powerDTO.setGroupId(powerInfo.getGrougId());
|
|
|
+ powerDTO.setModuleName(powerInfo.getModuleName());
|
|
|
+ powerDTO.setGroupName(powerInfo.getGroupName());
|
|
|
+ //赋值默认权限,在权限列表中的资源默认置为false
|
|
|
+ setPowerValue(powerDTO, powerInfo.getClassify(), false);
|
|
|
+ //赋值权限
|
|
|
+ for (Map<String, Object> map : classifyList){
|
|
|
+ if (powerInfo.getGrougId().equals(map.get("group_id"))){
|
|
|
+ String classify = String.valueOf(map.get("classify"));
|
|
|
+ //角色有权限的,设置为true
|
|
|
+ setPowerValue(powerDTO, classify, true);
|
|
|
+ setOtherPower(powerDTO, powerInfo.getGrougId(), id, otherPowerList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ powerDTOList.add(powerDTO);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*//查询所有模块
|
|
|
List<ResourceModule> modules = resourceModuleMapper.selectByAppId(BaseContextHolder.getAppId());
|
|
|
for (ResourceModule module : modules){
|
|
|
//查询所有分组
|
|
|
@@ -113,7 +134,7 @@ public class RoleServiceImpl extends CommonBaseServiceImpl<RoleMapper, Role> imp
|
|
|
}
|
|
|
powerDTOList.add(powerDTO);
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
return powerDTOList;
|
|
|
}
|
|
|
|
|
|
@@ -174,37 +195,37 @@ public class RoleServiceImpl extends CommonBaseServiceImpl<RoleMapper, Role> imp
|
|
|
powerDTO.setOther(otherPowerDTOList);
|
|
|
}
|
|
|
|
|
|
- private void setPowerValue(PowerDTO powerDTO, String classify) {
|
|
|
+ private void setPowerValue(PowerDTO powerDTO, String classify , boolean status) {
|
|
|
String[] array = classify.split(",");
|
|
|
for(int i = 0; i < array.length; i++){
|
|
|
switch (array[i]){
|
|
|
case "QUERY":
|
|
|
- powerDTO.setQuery(true);
|
|
|
- powerDTO.setFileExport(true);
|
|
|
+ powerDTO.setQuery(status);
|
|
|
+ powerDTO.setFileExport(status);
|
|
|
break;
|
|
|
case "ADD":
|
|
|
- powerDTO.setAdd(true);
|
|
|
+ powerDTO.setAdd(status);
|
|
|
break;
|
|
|
case "UPDATE":
|
|
|
- powerDTO.setUpdate(true);
|
|
|
+ powerDTO.setUpdate(status);
|
|
|
break;
|
|
|
case "AUDIT":
|
|
|
- powerDTO.setAudit(true);
|
|
|
+ powerDTO.setAudit(status);
|
|
|
break;
|
|
|
case "UNAUDIT":
|
|
|
- powerDTO.setUnAudit(true);
|
|
|
+ powerDTO.setUnAudit(status);
|
|
|
break;
|
|
|
case "DELETE":
|
|
|
- powerDTO.setDelete(true);
|
|
|
+ powerDTO.setDelete(status);
|
|
|
break;
|
|
|
case "PRINT":
|
|
|
- powerDTO.setPrint(true);
|
|
|
+ powerDTO.setPrint(status);
|
|
|
break;
|
|
|
case "EXPORT":
|
|
|
- powerDTO.setFileExport(true);
|
|
|
+ powerDTO.setFileExport(status);
|
|
|
break;
|
|
|
case "IMPORT":
|
|
|
- powerDTO.setFileImport(true);
|
|
|
+ powerDTO.setFileImport(status);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|