From 680467cafe81445bda4cd71d93fb489ca436c5a1 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Thu, 25 Mar 2021 14:22:08 +0800 Subject: [PATCH] 角色菜单模糊查询 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java | 61 ++++++++++++++++++++++++++++-- 1 files changed, 57 insertions(+), 4 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 b4dc1f0..2c7e1fc 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 @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -40,10 +41,62 @@ } QueryWrapper<ManageRoleMenu> wrapper = new QueryWrapper(); wrapper.eq("role_id",id); - System.out.println(manageRoleMenuMapper.selectCount(wrapper)); - if (manageRoleMenuMapper.selectCount(wrapper)==0){ - + wrapper.eq("is_delete",0); + List<Map> result = manageRoleMenuMapper.getDataByMenuIds(list,id); + List<Map> result1 = manageRoleMenuMapper.getDataByRoleId(id); + if (manageRoleMenuMapper.selectCount(wrapper)==0 || result.size()==0){ + List<Map> insertList = new ArrayList<>(); + for (Object temp:list) { + Map<String,Object> map = new HashMap<>(); + map.put("role_id",id); + map.put("menu_id",Integer.parseInt(temp.toString())); + insertList.add(map); + } + manageRoleMenuMapper.insertBatch(insertList); } - return null; + 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")); + } + 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 (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); + } + manageRoleMenuMapper.insertBatch(mapList); + } + resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); + resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); + return resultMap; } } -- Gitblit v1.8.0