From 2a06a2a8aed92fd2eb4b4570b79f304a1c0caf6d Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期四, 12 九月 2024 09:39:37 +0800
Subject: [PATCH] 1、Action树查询接口增加id。 2、增加角色列表接口
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 38 +++++++++++++++---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java | 5 +-
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java | 7 +++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java | 18 +++++++++
4 files changed, 59 insertions(+), 9 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
index 89cc712..4242734 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
@@ -2,6 +2,7 @@
import com.vci.common.exception.VciException;
import com.vci.corba.common.PLException;
+import com.vci.dto.RoleInfoDTO;
import com.vci.dto.RoleRightDTO;
import com.vci.dto.RoleRightParamDTO;
import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum;
@@ -176,4 +177,10 @@
* @throws PLException
*/
BaseResult saveRoleRight(List<RoleRightParamDTO> roleRightDTOS, String roleId) throws PLException;
+ /**
+ * 鑾峰彇鎵�鎺堟潈鐨勬ā鍧楁潈闄�
+ * @param roleName 鎼滅储鐨勮鑹�
+ * @return 瑙掕壊鍒楄〃
+ */
+ List<RoleInfoDTO> getRoleList(String roleName) throws PLException;
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java
index a420aad..1fcb587 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java
@@ -12,6 +12,7 @@
import com.vci.corba.framework.data.*;
import com.vci.corba.omd.data.BusinessObject;
import com.vci.corba.portal.data.PLUILayout;
+import com.vci.dto.RoleInfoDTO;
import com.vci.dto.RoleRightDTO;
import com.vci.dto.RoleRightParamDTO;
import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
@@ -531,6 +532,7 @@
menuVO.setSort((int) funcObj.seq);
findChildAuthFunctionVO(menuVO, isAll);
functionVO.getChildren().add(menuVO);
+ functionVO.setHasChildren(true);
}
}else if(type == 2){
FuncOperationInfo[] infos = platformClientUtil.getFrameworkService().getFuncOperationByModule(functionVO.getId(), "", true);
@@ -549,6 +551,7 @@
menuVO.setIsValid(info.isValid);
menuVO.setHasChildren(false);
functionVO.getChildren().add(menuVO);
+ functionVO.setHasChildren(true);
}
}else{
functionVO.setHasChildren(false);
@@ -580,15 +583,13 @@
public List<String> getSysModelAuth(String roleId) throws PLException {
RoleRightInfo[] roleRightList = platformClientUtil.getFrameworkService().getRoleRightList(roleId, WebUtil.getCurrentUserId());
- Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue));
+ Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue,
+ (existing, replacement) -> existing));
String parentId;
SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException();
boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId());
if (adminOrDeveloperOrRoot) {
//绯荤粺鑿滃崟
- parentId = SYSTEMMANAGMENTNODE;
- } else if (rightControlUtil.isThreeAdminCurUser()) {
- //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
parentId = SYSTEMMANAGMENTNODE;
} else {
//鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
@@ -683,6 +684,32 @@
throw new PLException("500", new String[]{"鍔熻兘妯″潡鎺堟潈澶辫触锛�"});
}
return BaseResult.success();
+ }
+ /**
+ * 鑾峰彇鎵�鎺堟潈鐨勬ā鍧楁潈闄�
+ * @param roleName 鎼滅储鐨勮鑹�
+ * @return 瑙掕壊鍒楄〃
+ */
+ @Override
+ public List<RoleInfoDTO> getRoleList(String roleName) throws PLException {
+ RoleInfo[] roleInfos = platformClientUtil.getFrameworkService().fetchRoleInfoByUserType(WebUtil.getCurrentUserId());
+ List<RoleInfoDTO> dtos = new ArrayList<>();
+ for (RoleInfo roleInfo : roleInfos) {
+ if(StringUtils.isBlank(roleName) || roleInfo.name.indexOf(roleName) != -1) {
+ RoleInfoDTO dto = new RoleInfoDTO();
+ dto.setName(roleInfo.name);
+ dto.setDescription(roleInfo.description);
+ dto.setId(roleInfo.id);
+ dto.setGrantor(roleInfo.grantor);
+ dto.setType(roleInfo.type);
+ dto.setCreateTime(roleInfo.createTime);
+ dto.setCreateUser(roleInfo.createUser);
+ dto.setUpdateTime(roleInfo.updateTime);
+ dto.setUpdateUser(roleInfo.updateUser);
+ dtos.add(dto);
+ }
+ }
+ return dtos;
}
private long countRightValue(List<RoleRightParamDTO> dtos){
@@ -1075,9 +1102,6 @@
String parentId;
if (adminOrDeveloperOrRoot) {
//绯荤粺鑿滃崟
- parentId = SYSTEMMANAGMENTNODE;
- } else if (rightControlUtil.isThreeAdminCurUser()) {
- //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
parentId = SYSTEMMANAGMENTNODE;
} else {
//鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
index 858f465..98b5e18 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
@@ -4,6 +4,7 @@
import com.vci.corba.common.PLException;
import com.vci.corba.framework.data.FuncOperationInfo;
import com.vci.corba.framework.data.OperateInfo;
+import com.vci.dto.RoleInfoDTO;
import com.vci.dto.RoleRightDTO;
import com.vci.dto.RoleRightParamDTO;
import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
@@ -110,6 +111,23 @@
}
/**
+ * 瑙掕壊鍒楄〃
+ * @param roleName 鎼滅储鐨勮鑹�
+ * @return 瑙掕壊鍒楄〃
+ */
+ @GetMapping("/getRoleList")
+ public BaseResult<List<RoleInfoDTO>> getRoleList(String roleName) {
+ try {
+ return BaseResult.dataList(functionQueryService.getRoleList(roleName));
+ }catch (Exception e){
+ e.printStackTrace();
+ String errorMsg = "鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+ VciBaseUtil.getExceptionMessage(e);
+ logger.error(errorMsg);
+ throw new VciBaseException(errorMsg);
+ }
+ }
+
+ /**
* 淇濆瓨鎺堟潈鐨勬ā鍧�
* @param roleRightDTOS 鐢ㄦ埛閫夋嫨鎺堟潈妯″潡淇℃伅
* @param roleId 瑙掕壊涓婚敭
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java
index fd3d7b9..1030cb5 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java
@@ -127,6 +127,7 @@
PLActionCls[] clses = platformClientUtil.getUIService().getPLActionClsArray();
PLActionClsDTO treDto = new PLActionClsDTO();
treDto.setName("Action鍒嗙被");
+ treDto.setId("root");
Map<String, List<PLActionCls>> allDataMap = Arrays.stream(clses).collect(Collectors.groupingBy(pl -> pl.pid));
for (PLActionCls cls : clses) {
@@ -134,7 +135,7 @@
PLActionClsDTO parentDto = new PLActionClsDTO();
parentDto.setId(cls.id);
parentDto.setName(cls.name);
- parentDto.setPid(cls.pid);
+ parentDto.setPid("root");
parentDto.setDescription(cls.description);
parentDto.setCreator(cls.creator);
parentDto.setCreateTime(cls.createTime);
@@ -186,7 +187,7 @@
Constraint[] consArray ;
if(StringUtils.isNotBlank(dto.getPlactioncls())){
consArray = new Constraint[7];
- consArray[6] = new Constraint("plactioncls", dto.getPlactioncls());
+ consArray[6] = new Constraint("plactioncls", dto.getPlactioncls().equals("root") ? "": dto.getPlactioncls());
}else {
consArray = new Constraint[6];
}
--
Gitblit v1.9.3