From 5d15287b2a06f978485ac6af71e33e1a82b43a65 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 15 四月 2020 16:29:55 +0800
Subject: [PATCH] fix  上传后生成版本连接池用完不释放问题

---
 src/main/java/com/highdatas/mdm/controller/MasterAuthorDetailController.java |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/MasterAuthorDetailController.java b/src/main/java/com/highdatas/mdm/controller/MasterAuthorDetailController.java
index 2c7e9c4..ae84d26 100644
--- a/src/main/java/com/highdatas/mdm/controller/MasterAuthorDetailController.java
+++ b/src/main/java/com/highdatas/mdm/controller/MasterAuthorDetailController.java
@@ -6,7 +6,6 @@
 import com.highdatas.mdm.entity.MasterAuthor;
 import com.highdatas.mdm.entity.MasterAuthorDetail;
 import com.highdatas.mdm.entity.SysField;
-import com.highdatas.mdm.entity.TUserRole;
 import com.highdatas.mdm.pojo.CodeMsg;
 import com.highdatas.mdm.pojo.MasterAuthorType;
 import com.highdatas.mdm.pojo.Result;
@@ -20,6 +19,7 @@
 import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -63,7 +63,7 @@
 
 
     @RequestMapping(value = "/getFieldByMaintainFieldId/{id}", method = RequestMethod.GET)
-    public Result getFieldByMaintainFieldId(@PathVariable String id, @RequestParam MasterAuthorType type, @RequestParam String characterId, HttpServletRequest request)  {
+    public Result getFieldByMaintainFieldId(@PathVariable String id, @RequestParam boolean isGroup, @RequestParam MasterAuthorType type, @RequestParam String characterId, HttpServletRequest request)  {
         List<SysField> result;
 
         String menuId = request.getParameter("menuId");
@@ -84,16 +84,25 @@
         JSONObject resultObj = new JSONObject();
         MasterAuthor masterAuthor = masterAuthorService.selectOne(new EntityWrapper<MasterAuthor>()
                 .eq(Constant.TYPE, type)
+                .eq("user_group", isGroup)
                 .eq("table_name", tableName)
                 .eq("character_id", characterId)
                 .eq("maintain_field_id", id));
 
         if (masterAuthor == null && type.equals(MasterAuthorType.user)) {
-            List<TUserRole> tUserRoles = userRoleService.selectList(new EntityWrapper<TUserRole>().eq(Constant.USERID, characterId));
-            List<String> roleIdList = tUserRoles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList());
-            HashMap<String, MasterAuthor> tableMasterAuthor = masterAuthorService.merageRoleAuthor(roleIdList);
-            String key = DbUtils.getFieldRedisKey(tableName, id);
-            masterAuthor = tableMasterAuthor.get(key);
+            Set<String> roleIdSet;
+            if (isGroup) {
+                roleIdSet = DbUtils.getRoleByGroup(characterId);
+            } else {
+                roleIdSet = DbUtils.getRoleByUser(characterId);
+            }
+            if (roleIdSet == null || roleIdSet.isEmpty()) {
+                masterAuthor = null;
+            } else {
+                HashMap<String, MasterAuthor> tableMasterAuthor = masterAuthorService.merageRoleAuthor(roleIdSet);
+                String key = DbUtils.getFieldRedisKey(tableName, id);
+                masterAuthor = tableMasterAuthor.get(key);
+            }
         }
 
         if (masterAuthor == null) {

--
Gitblit v1.8.0