From 4e48dd4711cab4528fba7f2ee01a6191c08b34aa Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 03 Aug 2023 11:38:10 +0800 Subject: [PATCH] chore:批量修改校准值 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java | 127 ++++++++++++++++++++++++++---------------- 1 files changed, 78 insertions(+), 49 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 5450a72..ffc3208 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 @@ -13,17 +13,17 @@ import com.moral.api.util.LogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; +import com.moral.util.TokenUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -45,25 +45,32 @@ @Autowired(required = false) private ManageRoleMapper manageRoleMapper; - @Autowired - LogUtils logUtils; @Override @Transactional - public Map<String, Object> updateRoleMenu(List list, int id) { + public Map<String, Object> updateRoleMenu(List menuList, int id) { + //��������������� + List supplementList = new ArrayList(); + supplementList.addAll(menuList); + for (int i=0;i<supplementList.size();i++) { + supplementList.addAll(supplementParentMenus(Integer.parseInt(supplementList.get(i).toString()))); + } + LinkedHashSet<Object> hashSet = new LinkedHashSet<>(supplementList); + ArrayList<Object> list = new ArrayList<>(hashSet); + //return null; Map<String,Object> resultMap = new HashMap<>(); List<ManageMenu> manageMenusOld = manageMenuMapper.getManageMenuByRoleId(id); - if (list.size()==0){ - resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); - resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); - return resultMap; - } QueryWrapper<ManageRoleMenu> wrapper = new QueryWrapper(); wrapper.eq("role_id",id); wrapper.eq("is_delete",0); - List<Map> result = manageRoleMenuMapper.getDataByMenuIds(list,id); + List<Map> result = new ArrayList<>(); + if (list.size()==0){ + result = result; + }else { + 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<>(); @@ -71,49 +78,54 @@ map.put("menu_id",Integer.parseInt(temp.toString())); insertList.add(map); } - 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; + if (insertList.size()!=0){ + manageRoleMenuMapper.insertBatch(insertList); + } + }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")); } - 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); } + //������token + TokenUtils.destoryToken(id); List<ManageMenu> manageMenusNew = manageMenuMapper.getManageMenuByRoleId(id); List manageMenuOldList = new ArrayList(); List manageMenuNewList = new ArrayList(); @@ -135,9 +147,26 @@ manageMenuNewList.add("���"); } content = content+"������:"+manageMenuOldList+"->"+manageMenuNewList+";"; - logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); + LogUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; } + + /** + * @Description: ��������������� + * @Param: [list, menuId]list���menuId������ + * @return: void + * @Author: ��������� + * @Date: 2021/4/7 + */ + private List supplementParentMenus(int menuId) { + List list = new ArrayList(); + ManageMenu manageMenu = manageMenuMapper.getManageMenuById(menuId); + if (manageMenu.getParentId()!=0){ + list.add(manageMenu.getParentId()); + list.addAll(supplementParentMenus(manageMenu.getParentId())); + } + return list; + } } -- Gitblit v1.8.0