From 8baf7bb5602b7464f5fe939e909511322c83b2a9 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Mon, 12 Dec 2022 20:16:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/sso/system/rest/RoleController.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/sso/system/rest/RoleController.java b/lms/nladmin-system/src/main/java/org/nl/sso/system/rest/RoleController.java index 027c40659..79283a3bf 100644 --- a/lms/nladmin-system/src/main/java/org/nl/sso/system/rest/RoleController.java +++ b/lms/nladmin-system/src/main/java/org/nl/sso/system/rest/RoleController.java @@ -1,6 +1,7 @@ package org.nl.sso.system.rest; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; @@ -69,28 +70,28 @@ public class RoleController { @PutMapping(value = "/menu") // @SaCheckPermission("roles:edit") public ResponseEntity updateMenu(@RequestBody JSONObject form) { - String role_id = form.getString("role_id"); - JSONArray menus = form.getJSONArray("menus"); - - WQLObject rmTab = WQLObject.getWQLObject("sys_roles_menus"); - JSONArray result = rmTab.query("role_id = " + role_id + "").getResultJSONArray(0); - Set dbMenus = new HashSet<>(); - if (result.size()>0){ - dbMenus.addAll(result.stream().map(a -> ((JSONObject) a).getString("menu_id")).collect(Collectors.toSet())); - } - Set currentMenus = menus.stream().map(a -> ((HashMap) a).get("menu_id")).collect(Collectors.toSet()); - List needAdd = currentMenus.stream().filter(item -> !dbMenus.contains(item)).collect(Collectors.toList()); - List needDel = dbMenus.stream().filter(item -> !currentMenus.contains(item)).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(needAdd)){ - for (String s : needAdd) { - rmTab.insert(MapOf.of("role_id",role_id,"menu_id",s)); + if (ObjectUtil.isNotEmpty(form)){ + String role_id = form.getString("role_id"); + JSONArray menus = form.getJSONArray("menus"); + WQLObject rmTab = WQLObject.getWQLObject("sys_roles_menus"); + JSONArray result = rmTab.query("role_id = " + role_id + "").getResultJSONArray(0); + Set dbMenus = new HashSet<>(); + if (result.size()>0){ + dbMenus.addAll(result.stream().map(a -> ((JSONObject) a).getString("menu_id")).collect(Collectors.toSet())); + } + Set currentMenus = menus.stream().map(a -> ((HashMap) a).get("menu_id")).collect(Collectors.toSet()); + List needAdd = currentMenus.stream().filter(item -> !dbMenus.contains(item)).collect(Collectors.toList()); + List needDel = dbMenus.stream().filter(item -> !currentMenus.contains(item)).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(needAdd)){ + for (String s : needAdd) { + rmTab.insert(MapOf.of("role_id",role_id,"menu_id",s)); + } + } + if (!CollectionUtils.isEmpty(needDel)){ + String collect = needDel.stream().collect(Collectors.joining("','")); + rmTab.delete("role_id = '"+role_id+"' and menu_id in ('"+collect+"')"); } } - if (!CollectionUtils.isEmpty(needDel)){ - String collect = needDel.stream().collect(Collectors.joining("','")); - rmTab.delete("role_id = '"+role_id+"' and menu_id in ('"+collect+"')"); - } - return new ResponseEntity<>(HttpStatus.NO_CONTENT); }