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/MasterAuthorController.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 101 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java b/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java index 836c308..9989453 100644 --- a/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java +++ b/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java @@ -80,16 +80,24 @@ } @RequestMapping(value = "/get/{characterId}", method = RequestMethod.GET) - public Result get(@PathVariable String characterId, @RequestParam MasterAuthorType type, HttpServletRequest request){ - List<MasterAuthor> masterAuthorList = authorService.selectList(new EntityWrapper<MasterAuthor>().eq("type", type.name()).eq("character_id", characterId)); + public Result get(@PathVariable String characterId,@RequestParam boolean isGroup, @RequestParam MasterAuthorType type, HttpServletRequest request){ + + List<MasterAuthor> masterAuthorList = authorService.selectList(new EntityWrapper<MasterAuthor>().eq("user_group", isGroup).eq("type", type.name()).eq("character_id", characterId)); if (type.equals(MasterAuthorType.role) && masterAuthorList.isEmpty()) { return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); }else if (type.equals(MasterAuthorType.user) && masterAuthorList.isEmpty()){ //user 鑾峰彇瑙掕壊 澶氳剼鑹叉贩鍚� String userId = characterId; - List<TUserRole> tUserRoles = userRoleService.selectList(new EntityWrapper<TUserRole>().eq(Constant.USERID, userId)); - List<String> roleIdList = tUserRoles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList()); - HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdList); + Set<String> roleIdSet; + if (isGroup) { + roleIdSet = DbUtils.getRoleByGroup(userId); + } else { + roleIdSet = DbUtils.getRoleByUser(userId); + } + if (roleIdSet.isEmpty()) { + return Result.success(null); + } + HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdSet); if (tableMasterAuthor == null) { Result.success(null); } @@ -102,6 +110,9 @@ Set<String> collect = list.stream().map(masterAuthor -> masterAuthor.getMenuId()).collect(Collectors.toSet()); LinkedHashSet<String> menuIds= new LinkedHashSet<>(collect); LinkedHashSet<String> byParentId = menuService.getByParentId(menuIds); + if (byParentId == null) { + return Result.success(object); + } List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId); object.fluentPut("audit",sysMenus); return Result.success(object); @@ -115,13 +126,17 @@ } JSONObject object = new JSONObject(); + object.fluentPut("type", type); + object.fluentPut("author",masterAuthorList); + Set<String> collect = masterAuthorList.stream().map(masterAuthor -> masterAuthor.getMenuId()).collect(Collectors.toSet()); LinkedHashSet<String> menuIds= new LinkedHashSet<>(collect); LinkedHashSet<String> byParentId = menuService.getByParentId(menuIds); + if (byParentId == null) { + return Result.success(object); + } List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId); - object.fluentPut("type", MasterAuthorType.user); - object.fluentPut("author",masterAuthorList); object.fluentPut("audit",sysMenus); return Result.success(object); } @@ -189,18 +204,90 @@ } } - @RequestMapping(value = "/addRole/{roleId}", method = RequestMethod.GET) - public Result addRole(@PathVariable String roleId, HttpServletRequest request){ + @RequestMapping(value = "/groupAddRole/{roleId}", method = RequestMethod.GET) + public Result addGroupRole(@PathVariable String roleId, @RequestParam String groupId, HttpServletRequest request){ TUser user = DbUtils.getUser(request); - String userId = user.getUserId(); - List<TUserRole> tUserRoles = userRoleService.selectList(new EntityWrapper<TUserRole>().eq(Constant.USERID, userId)); - List<String> roleIdList = tUserRoles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList()); - roleIdList.add(roleId); + if (user == null){ + return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); + } + ArrayList<String> addRoleList = new ArrayList<>(); + Set<String> roleIdSet = DbUtils.getRoleByGroup(groupId); + addRoleList.addAll(roleIdSet); + addRoleList.add(roleId); + boolean b = DbUtils.groupAddOneRole(user.getUserId(),groupId, addRoleList); + if (!b) { + return Result.error(CodeMsg.INSERT_ERROR); + } - HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdList); + roleIdSet.add(roleId); + + HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdSet); if (tableMasterAuthor == null) { Result.success(null); } return Result.success(tableMasterAuthor.values()); } + + @RequestMapping(value = "/userAddRole/{roleId}", method = RequestMethod.GET) + public Result addRole(@PathVariable String roleId, @RequestParam String userId, HttpServletRequest request){ + TUser user = DbUtils.getUserById(userId); + if (user == null){ + return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); + } + ArrayList<String> addRoleList = new ArrayList<>(); + Set<String> roleIdSet = DbUtils.getRoleByUser(userId); + addRoleList.addAll(roleIdSet); + addRoleList.add(roleId); + boolean b = DbUtils.addOneRole(user, addRoleList); + if (!b) { + return Result.error(CodeMsg.INSERT_ERROR); + } + + roleIdSet.add(roleId); + + HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdSet); + if (tableMasterAuthor == null) { + Result.success(null); + } + return Result.success(tableMasterAuthor.values()); + } + + + @RequestMapping(value = "/userDelRole/{roleId}", method = RequestMethod.GET) + public Result delRole(@PathVariable String roleId, @RequestParam String userId, HttpServletRequest request){ + ArrayList<String> delRoleList = new ArrayList<>(); + + delRoleList.add(roleId); + boolean b = DbUtils.delOneRole(userId, delRoleList); + if (!b) { + return Result.error(CodeMsg.INSERT_ERROR); + } + + Set<String> roleIdSet = DbUtils.getRoleByUser(userId); + HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdSet); + if (tableMasterAuthor == null) { + Result.success(null); + } + return Result.success(tableMasterAuthor.values()); + } + + @RequestMapping(value = "/groupDelRole/{roleId}", method = RequestMethod.GET) + public Result delGroupRole(@PathVariable String roleId, @RequestParam String groupId, HttpServletRequest request){ + ArrayList<String> delRoleList = new ArrayList<>(); + + delRoleList.add(roleId); + boolean b = DbUtils.groupDelOneRole(groupId, delRoleList); + if (!b) { + return Result.error(CodeMsg.INSERT_ERROR); + } + + Set<String> roleIdSet = DbUtils.getRoleByGroup(groupId); + HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdSet); + if (tableMasterAuthor == null) { + Result.success(null); + } + return Result.success(tableMasterAuthor.values()); + } + + } -- Gitblit v1.8.0