From af99adcdd1198af865d091204b8566e2b81e389d Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 22 十月 2024 09:50:19 +0800
Subject: [PATCH] UI授权相关更改

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/utility/UIDataFetcher.java              |   21 +++++-
 Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/redis/RedisService.java    |   13 +++-
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java     |   24 ++++----
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java |   11 ++-
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java  |   59 ++++++++++---------
 5 files changed, 75 insertions(+), 53 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/redis/RedisService.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/redis/RedisService.java
index 01c544c..4ef492d 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/redis/RedisService.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/redis/RedisService.java
@@ -397,9 +397,12 @@
     public void increOnlineUser(String currentLoggedUserKey) {
         // 妫�鏌ラ敭鏄惁瀛樺湪
         if (!redisTemplate.hasKey(currentLoggedUserKey)) {
+            //log.info("===========================閿笉瀛樺湪");
             // 濡傛灉閿笉瀛樺湪锛屽垵濮嬪寲涓�0
             redisTemplate.opsForValue().set(currentLoggedUserKey, 0);
         }
+        int currentCount = (int)redisTemplate.opsForValue().get(currentLoggedUserKey);
+        //log.info("===========================寮�濮嬭嚜澧�"+currentCount);
         // 鑷鍦ㄧ嚎鐢ㄦ埛鏁�
         redisTemplate.opsForValue().increment(currentLoggedUserKey);
     }
@@ -410,10 +413,10 @@
      */
     public void decreOnlineUser(String currentLoggedUserKey) {
         // 妫�鏌ュ綋鍓嶅湪绾跨敤鎴锋暟
-        Integer currentLoggedUser = (Integer)redisTemplate.opsForValue().get(currentLoggedUserKey);
+        Object obj = redisTemplate.opsForValue().get(currentLoggedUserKey);
 
-        if (currentLoggedUser != null) {
-            Integer currentCount = Integer.parseInt(redisTemplate.opsForValue().get(currentLoggedUserKey)+"");
+        if (obj != null) {
+            int currentCount = (int)redisTemplate.opsForValue().get(currentLoggedUserKey);
             if(currentCount > 0){
                 // 鑷噺鍦ㄧ嚎鐢ㄦ埛鏁�
                 redisTemplate.opsForValue().decrement(currentLoggedUserKey);
@@ -427,6 +430,10 @@
      * @return
      */
     public long getCurrentOnlineUserCount(String currentLoggedUserKey) {
+        Object obj = redisTemplate.opsForValue().get(currentLoggedUserKey);
+        if(obj == null){
+            return 0L;
+        }
         return Long.parseLong(redisTemplate.opsForValue().get(currentLoggedUserKey)+"");
     }
 
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
index d06887c..45b0f76 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
@@ -622,18 +622,18 @@
      * @return
      * @throws PLException
      */
-/*    @GetMapping( "/getRightListByRoleId")
-    @VciBusinessLog(operateName = "鏍规嵁瑙掕壊涓婚敭鑾峰彇宸叉巿鏉冪殑UI涓婚敭闆嗗悎")
-    public BaseResult getRightListByRoleId(String roleId){
-        try {
-            return BaseResult.success(uiManagerService.getRightListByRoleId(roleId));
-        }catch (Throwable e) {
-            e.printStackTrace();
-            String exceptionMessage = "鑾峰彇宸叉巿鏉冧俊鎭椂閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e);
-            logger.error(exceptionMessage);
-            return BaseResult.fail(exceptionMessage);
-        }
-    }*/
+    /*    @GetMapping( "/getRightListByRoleId")
+        @VciBusinessLog(operateName = "鏍规嵁瑙掕壊涓婚敭鑾峰彇宸叉巿鏉冪殑UI涓婚敭闆嗗悎")
+        public BaseResult getRightListByRoleId(String roleId){
+            try {
+                return BaseResult.success(uiManagerService.getRightListByRoleId(roleId));
+            }catch (Throwable e) {
+                e.printStackTrace();
+                String exceptionMessage = "鑾峰彇宸叉巿鏉冧俊鎭椂閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e);
+                logger.error(exceptionMessage);
+                return BaseResult.fail(exceptionMessage);
+            }
+        }*/
 
     /***
      * @param uiAuthorDTO 鍕鹃�夌殑闇�瑕佷繚瀛樼殑鏁版嵁瀵硅薄
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
index d6ca935..aed9228 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
@@ -166,8 +166,8 @@
         if(PortalVIType.Table.getName()==viType){
             lableName=PortalVIType.Table.getLabel();
         }
-        PortalVIVO portalVIVO=new PortalVIVO();
-        PortalVI portalVI=  platformClientUtil.getPortalService().getPortalVIById(id);
+        PortalVIVO portalVIVO = new PortalVIVO();
+        PortalVI portalVI = platformClientUtil.getPortalService().getPortalVIById(id);
         if(portalVI==null||StringUtils.isBlank(portalVI.id)){
             throw new VciBaseException("鏍规嵁涓婚敭鏈煡璇㈠埌鏁版嵁");
         }
@@ -1164,10 +1164,12 @@
         List<String> allKeyList= getRefFormVIName(prmItemDO.getItemInObj());
         List<String> itemOutFieldList =VciBaseUtil.str2List(prmItemDO.getItemOutFields());
         List<String> itemKeyFieldList =VciBaseUtil.str2List(prmItemDO.getItemKeyFields());
-        List<String> itemSelectOutFieldList= allKeyList.stream().filter(s ->!itemOutFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
+        List<String> itemSelectOutFieldList= allKeyList.stream()
+                .filter(s -> !itemOutFieldList.contains(s))
+                .collect(Collectors.toList());
         prmItemVO.setItemSelectOutFieldList(itemSelectOutFieldList);//寰呴�夋嫨鐨勫睘鎬у瓧娈�
         prmItemVO.setItemOutFieldList(itemOutFieldList);//闇�瑕佷娇鐢ㄧ殑闆嗗悎
-      //  List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!CollectionUtils.isEmpty(itemKeyFieldList).stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
+        // List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!CollectionUtils.isEmpty(itemKeyFieldList).stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
         List<String> itemSearchFieldList=new ArrayList<>();
         if(!CollectionUtils.isEmpty(itemKeyFieldList)){
             itemSearchFieldList= itemOutFieldList.stream().filter(s ->!itemKeyFieldList.contains(s)).collect(Collectors.toList());
@@ -1288,6 +1290,7 @@
         }
         return itemSeniorQueryBOList;
     }
+
     private List<String> getRefFormVIName(String refFormOid){
         List<String> keyList=new ArrayList<>();
         try {
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
index 2301d4a..3f4e4fe 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -39,6 +39,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
+import javax.swing.tree.TreePath;
 import java.io.File;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -1700,11 +1701,11 @@
         Map<String,RoleRightVO> roleRightVOMap = new HashMap<>();
         if(StringUtils.isNotBlank(roleId)){
             String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
-            RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName);
+            RoleRightInfo[] rightInfos = platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName);
             List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos));
             roleRightVOMap = roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue));
         }
-        BizType[] bizTypes=osBtmServiceI.getBizTypes(type);
+        BizType[] bizTypes = osBtmServiceI.getBizTypes(type);
         List<Tree> treeList=new ArrayList<>();
         Tree rootNode =new Tree("root","鍔熻兘妯″潡","root");
         rootNode.setLevel(0);
@@ -1721,9 +1722,8 @@
             bizTypeTree.setParentId(rootNode.getOid());
             bizTypeTree.setParentName(rootNode.getText());
             bizTypeTree.setParentBtmName(bizTypes[i].name);
-
             //long startTime1 = System.currentTimeMillis();
-            List<PLUILayout> contextList = uiDataFetcher.getContext(bizTypes[i].name);
+            List<PLUILayout> contextList = uiDataFetcher.getContext(bizTypes[i].name/*+context*/);
             //long endTime1 = System.currentTimeMillis();
             //System.out.println("============================================鑾峰彇UI瀹氫箟鏁版嵁寮曟搸鑰楁椂锛�"+((endTime1-startTime1)/1000)+"s");
 
@@ -1774,31 +1774,31 @@
         conditionMap.put("context",uiAuthorDTO.getContext());
         conditionMap.put("showCheckBox","true");
         treeQueryObject.setConditionMap(conditionMap);
-        List<Tree> treeList=this.getUIAuthor(treeQueryObject);
-        HashMap<String,Tree> allTreeMap=new HashMap<>();
-        Map<String,RoleRightDTO> roleRightVOMap=new HashMap<>();
+        List<Tree> treeList = this.getUIAuthor(treeQueryObject);
+        HashMap<String,Tree> allTreeMap = new HashMap<>();
+        Map<String,RoleRightDTO> roleRightVOMap = new HashMap<>();
         if(!CollectionUtil.isEmpty(treeList)){
             if(StringUtils.isNotBlank(uiAuthorDTO.getRoleId())){
-                String userName= WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
-                RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(uiAuthorDTO.getRoleId(),userName);
-                List<RoleRightVO>  roleRightVOList=roleRightDOO2VOS(Arrays.asList(rightInfos));
-                roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVOO2DTO(roleRightVO),(oldValue,newValue)->oldValue));
+                String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
+                RoleRightInfo[] rightInfos = platformClientUtil.getFrameworkService().getRoleRightList(uiAuthorDTO.getRoleId(),userName);
+                List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos));
+                roleRightVOMap = roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVOO2DTO(roleRightVO),(oldValue,newValue)->oldValue));
             }
             convertTreeDOO2Map(treeList,allTreeMap);
-            List<RoleRightDTO> roleRightDTOList=new ArrayList<>();
-            List<Tree>  selectTreeList= uiAuthorDTO.getSelectTreeList();
+            List<RoleRightDTO> roleRightDTOList = new ArrayList<>();
+            List<Tree> selectTreeList = uiAuthorDTO.getSelectTreeList();
             getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightVOMap,roleRightDTOList);
             SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
             String currentUserName = sessionInfo.getUserId();
-            boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName);
-            List<RoleRightInfo>  roleRightInfoList= roleRightDTOO2InfoS(roleRightDTOList);
-            UserEntityInfo info=new UserEntityInfo();
+            //boolean isDeveloper = rightControlUtil.isDeveloper(currentUserName);
+            List<RoleRightInfo> roleRightInfoList = roleRightDTOO2InfoS(roleRightDTOList);
+            UserEntityInfo info = new UserEntityInfo();
             info.modules="UI鎺堟潈";
-            info.userName=currentUserName;
+            info.userName = currentUserName;
             try {
-             res= platformClientUtil.getFrameworkService().saveRoleRight(roleRightInfoList.toArray(new RoleRightInfo[]{}),uiAuthorDTO.getRoleId(),currentUserName,info);
+                res = platformClientUtil.getFrameworkService().saveRoleRight(roleRightInfoList.toArray(new RoleRightInfo[]{}),uiAuthorDTO.getRoleId(),currentUserName,info);
             }catch (PLException e){
-                throw  new Exception("淇濆瓨澶辫触锛�"+e.getMessage());
+                throw  new Exception("淇濆瓨澶辫触锛�" + e.getMessage());
             }
         }
         return res;
@@ -1811,15 +1811,15 @@
      * @param allTreeMap
      * @param roleRightDTOList
      */
-    private void getSelectedRoleRightObjs(String roleOid,List<Tree>  selectTreeList,HashMap<String,Tree> allTreeMap,Map<String,RoleRightDTO> allRoleRightDTOMap,  List<RoleRightDTO> roleRightDTOList){
-        Date date=new Date();
-        Map<String,RoleRightDTO> roleRightDTOMap=new HashMap<>();
+    private void getSelectedRoleRightObjs(String roleOid, List<Tree> selectTreeList, HashMap<String,Tree> allTreeMap, Map<String,RoleRightDTO> allRoleRightDTOMap, List<RoleRightDTO> roleRightDTOList){
+        //Date date=new Date();
+        Map<String,RoleRightDTO> roleRightDTOMap = new HashMap<>();
         if(!CollectionUtil.isEmpty(selectTreeList)){
             selectTreeList.stream().forEach(tree -> {
-                String oid=tree.getOid();
+                String oid = tree.getOid();
                 if(allTreeMap.containsKey(oid)){
-                    tree=   allTreeMap.get(oid);
-                   Object data= tree.getData();
+                    tree = allTreeMap.get(oid);
+                   Object data = tree.getData();
                     if (data instanceof String) {
                         getRightValue(roleOid, tree, allTreeMap, false, roleRightDTOMap);//鍚戜笅鑾峰彇鎵�鏈夋ā鍧楃殑鏉冮檺鍊�
                     } else if (!(data instanceof PLTabButton)) {//涓氬姟绫诲瀷
@@ -1830,16 +1830,17 @@
                         if(allTreeMap.containsKey(parrentId)){
                             SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
                             String currentUserName = sessionInfo.getUserId();
-                            boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName);
+                            boolean isDeveloper = rightControlUtil.isDeveloper(currentUserName);
                             Tree parentNode= allTreeMap.get(parrentId);
                             String funcId = parentNode.getOid();
-                            getRightValue(roleOid,tree, allTreeMap, true, roleRightDTOMap);//鍚戜笂澶勭悊璇ユ搷浣滅埗绾х殑涓婄骇妯″潡鏉冮檺(涓嶅寘鍚埗鑺傜偣)
+                            getRightValue(roleOid, tree, allTreeMap, true, roleRightDTOMap);//鍚戜笂澶勭悊璇ユ搷浣滅埗绾х殑涓婄骇妯″潡鏉冮檺(涓嶅寘鍚埗鑺傜偣)
                             if(!roleRightDTOMap.containsKey(funcId)){
                                 RoleRightDTO roleRightDTO = new RoleRightDTO();
                                 roleRightDTO.setId(ObjectUtility.getNewObjectID36());//涓婚敭
                                 roleRightDTO.setFuncId(funcId);
                                 if(isDeveloper) {
-                                    roleRightDTO.setRightType((short) 1);//鏉冮檺绫诲瀷 鏉冮檺绫诲瀷锛岃秴绾х鐞嗗憳缁欑鐞嗗憳鎺堟潈涓�1锛岀鐞嗗憳缁欐櫘閫氱敤鎴锋巿鏉冧负2
+                                    //鏉冮檺绫诲瀷 鏉冮檺绫诲瀷锛岃秴绾х鐞嗗憳缁欑鐞嗗憳鎺堟潈涓�1锛岀鐞嗗憳缁欐櫘閫氱敤鎴锋巿鏉冧负2
+                                    roleRightDTO.setRightType((short) 1);
                                 }else{
                                     roleRightDTO.setRightType((short) 2);
                                 }
@@ -1863,7 +1864,7 @@
             });
           /*  allRoleRightDTOMap.putAll(roleRightDTOMap.entrySet().stream()
                     .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::  getValue)));*/
-         List<RoleRightDTO>    newRoleRightDTOList=Optional.ofNullable(roleRightDTOMap).orElseGet(()->new HashMap<String,RoleRightDTO>()).values().stream().collect(Collectors.toList());
+         List<RoleRightDTO> newRoleRightDTOList = Optional.ofNullable(roleRightDTOMap).orElseGet(()->new HashMap<String,RoleRightDTO>()).values().stream().collect(Collectors.toList());
             roleRightDTOList.addAll(newRoleRightDTOList);
         }
     }
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/utility/UIDataFetcher.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/utility/UIDataFetcher.java
index a3c0088..c889347 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/utility/UIDataFetcher.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/utility/UIDataFetcher.java
@@ -49,16 +49,27 @@
             //long e = System.currentTimeMillis();
             //System.out.println(allContext.length + " 1: " + (e - s));
             //s = System.currentTimeMillis();
-            List<PLUILayout> contextList = null;
+            List<PLUILayout> relatedTypeList = null;
+            //List<PLUILayout> contextList = null;
             for (PLUILayout context : allContext) {
                 if (contextMap.get(context.plRelatedType) == null) {
-                    contextList = new ArrayList<PLUILayout>();
-                    contextMap.put(context.plRelatedType, contextList);
+                    relatedTypeList = new ArrayList<>();
+                    contextMap.put(context.plRelatedType, relatedTypeList);
                 } else {
-                    contextList = contextMap.get(context.plRelatedType);
+                    relatedTypeList = contextMap.get(context.plRelatedType);
                 }
-                contextList.add(context);
+                relatedTypeList.add(context);
+                //澶勭悊btmName+context鏂瑰紡瀛樼殑鏁版嵁
+                /*if(contextMap.get(context.plRelatedType + "-" + context.plOId) == null){
+                    contextList = new ArrayList<>();
+                    contextMap.put(context.plRelatedType + "-" + context.plOId,contextList);
+                }else{
+                    contextList = contextMap.get(context.plRelatedType + "-" + context.plOId);
+                }
+                contextList.add(context);*/
             }
+
+
             //e = System.currentTimeMillis();
             //System.out.println("2: " + (e - s));
             //鍒濆鍖栨墍鏈夌殑椤电

--
Gitblit v1.9.3