From 4318ffbc62cf082dbea4e045b7ed84da7e0a66ab Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Fri, 23 Apr 2021 16:47:17 +0800 Subject: [PATCH] 修改配置菜单传空数组时不置空问题 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java | 70 ++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 34 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java index 57b433f..34c5e4c 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java @@ -63,7 +63,7 @@ result = manageRoleMenuMapper.getDataByMenuIds(list,id); } List<Map> result1 = manageRoleMenuMapper.getDataByRoleId(id); - if (manageRoleMenuMapper.selectCount(wrapper)==0 || result.size()==0){ + if ((manageRoleMenuMapper.selectCount(wrapper)==0 || result.size()==0)&&list.size()!=0){ List<Map> insertList = new ArrayList<>(); for (Object temp:list) { Map<String,Object> map = new HashMap<>(); @@ -74,47 +74,49 @@ if (insertList.size()!=0){ manageRoleMenuMapper.insertBatch(insertList); } - } - List updateList = new ArrayList(); - for (Map manageRoleMenu:result1) { - int have = 1; - for (Object temp:list){ - if (manageRoleMenu.get("menu_id").equals(Integer.parseInt(temp.toString()))){ - have = 2; + }else { + List updateList = new ArrayList(); + for (Map manageRoleMenu:result1) { + int have = 1; + for (Object temp:list){ + if (manageRoleMenu.get("menu_id").equals(Integer.parseInt(temp.toString()))){ + have = 2; + continue; + } + } + if (have == 2){ continue; } + updateList.add(manageRoleMenu.get("menu_id")); + System.out.println("++++++++++++++"+updateList); } - if (have == 2){ - continue; - } - updateList.add(manageRoleMenu.get("menu_id")); - } - List insertList = new ArrayList(); - for (Object temp:list) { - int have = 1; - for (Map manageRoleMenu:result1){ - if (manageRoleMenu.get("menu_id").equals(Integer.parseInt(temp.toString()))){ - have = 2; + List insertList = new ArrayList(); + for (Object temp:list) { + int have = 1; + for (Map manageRoleMenu:result1){ + if (manageRoleMenu.get("menu_id").equals(Integer.parseInt(temp.toString()))){ + have = 2; + continue; + } + } + if (have == 2){ continue; } + insertList.add(temp); } - if (have == 2){ - continue; + if (updateList.size()>0){ + manageRoleMenuMapper.updateDeleteStateByRoleIdMenuIds(updateList,id); } - insertList.add(temp); - } - if (updateList.size()>0){ - manageRoleMenuMapper.updateDeleteStateByRoleIdMenuIds(updateList,id); - } - if (insertList.size()>0){ - List mapList = new ArrayList(); - for (Object temp:insertList) { - Map<String,Integer> insertMap = new HashMap<>(); - insertMap.put("role_id",id); - insertMap.put("menu_id",Integer.parseInt(temp.toString())); - mapList.add(insertMap); + if (insertList.size()>0){ + List mapList = new ArrayList(); + for (Object temp:insertList) { + Map<String,Integer> insertMap = new HashMap<>(); + insertMap.put("role_id",id); + insertMap.put("menu_id",Integer.parseInt(temp.toString())); + mapList.add(insertMap); + } + manageRoleMenuMapper.insertBatch(mapList); } - manageRoleMenuMapper.insertBatch(mapList); } List<ManageMenu> manageMenusNew = manageMenuMapper.getManageMenuByRoleId(id); List manageMenuOldList = new ArrayList(); -- Gitblit v1.8.0