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