screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java
@@ -137,4 +137,15 @@ List<ManageMenu> re = manageMenuService.getManageMenuByNameFuzzy(parameters); return ResultMessage.ok(re); } @ApiOperation(value = "通过roleId查询菜单", notes = "通过roleId查询菜单") @ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色id", required = true, paramType = "query", dataType = "int") }) @RequestMapping(value = "getManageMenuByRoleId", method = RequestMethod.GET) public ResultMessage getManageMenuByRoleId(HttpServletRequest request) { Map<String, Object> parameters = getParametersStartingWith(request, null); List<ManageMenu> result = manageMenuService.getManageMenuByRoleId(Integer.parseInt(parameters.get("roleId").toString())); return ResultMessage.ok(result); } } screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java
@@ -1,12 +1,13 @@ package com.moral.api.controller; import com.alibaba.fastjson.JSON; import com.moral.api.entity.ManageMenu; import com.moral.api.entity.ManageRole; import com.moral.api.service.ManageMenuService; import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.service.ManageRoleMenuService; import com.moral.api.service.ManageRoleService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.TokenUtils; import com.moral.util.WebUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -14,6 +15,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -36,6 +38,9 @@ @Autowired private ManageRoleMenuService manageRoleMenuService; @Autowired private RedisTemplate redisTemplate; @ApiOperation(value = "获取所有角色", notes = "获取所有角色") @ApiImplicitParams({ @ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"), @@ -56,7 +61,7 @@ }) @RequestMapping(value = "insertOneManageRole", method = RequestMethod.POST) @ResponseBody public ResultMessage insertOneManageRole(@RequestBody Map<String, Object> parameters) { public ResultMessage insertOneManageRole(@RequestBody Map<String, Object> parameters,HttpServletRequest request) { List list = new ArrayList(); if (parameters.get("menuIds") != null){ String menuIdsStr = parameters.get("menuIds").toString(); screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java
@@ -34,4 +34,6 @@ List<ManageMenu> getManageRoleByNameFuzzy(Map map); List<ManageMenu> getManageMenuByRoleId(int roleId); } screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java
@@ -32,6 +32,8 @@ List<ManageMenu> getAllMenus(); List<ManageMenu> getManageMenuByRoleId(int roleId); List<ManageMenu> getManageMenuByNameFuzzy(Map map); List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles); screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
@@ -141,6 +141,33 @@ } @Override public List<ManageMenu> getManageMenuByRoleId(int roleId) { List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByRoleId(roleId); System.out.println(manageMenus); if(ObjectUtils.isEmpty(manageMenus)) return null; Map<Integer, ManageMenu> menusMap = new HashMap<>(); for (ManageMenu menu : manageMenus) { menu.setChildren(new ArrayList<>());//初始化 menusMap.put(menu.getId(), menu); } for (ManageMenu menu : manageMenus) { combinationParentChildrenMenus(menusMap, menu); } //已经封装好父子菜单,去除parentId不是0的菜单,去除重复 manageMenus.removeIf(new Predicate<ManageMenu>() { @Override public boolean test(ManageMenu manageMenu) { if(manageMenu.getParentId().equals(0)) return false; return true; } }); return manageMenus; } @Override public List<ManageMenu> getManageMenuByNameFuzzy(Map map) { Map limitMap = new HashMap(); limitMap.put("name", map.get("name")); screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java
@@ -2,13 +2,18 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageAccountRole; import com.moral.api.entity.ManageLog; import com.moral.api.entity.ManageRole; import com.moral.api.mapper.ManageAccountRoleMapper; import com.moral.api.mapper.ManageLogMapper; import com.moral.api.mapper.ManageRoleMapper; import com.moral.api.mapper.ManageRoleMenuMapper; import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.service.ManageRoleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.util.LogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import org.springframework.beans.factory.annotation.Autowired; @@ -16,8 +21,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.*; @@ -49,6 +57,9 @@ @Autowired(required = false) private ManageAccountRoleMapper manageAccountRoleMapper; @Autowired LogUtils logUtils; @Override public Map<String,Object> getAllWithPagingQuery(Map map) { @@ -86,7 +97,7 @@ @Override @Transactional public Map<String,Object> insertOne(ManageRole manageRole,List list) { public Map<String,Object> insertOne(ManageRole manageRole, List list) { Map<String,Object> resultMap = new HashMap<>(); if (manageRole.getName()==null){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); @@ -96,24 +107,28 @@ if (manageRoleMapper.getManageRoleByName(manageRole.getName()) != null){ resultMap.put("code",ResponseCodeEnum.ROLE_IS_EXPIRE.getCode()); resultMap.put("msg",ResponseCodeEnum.ROLE_IS_EXPIRE.getMsg()); }else { manageRoleMapper.insertOne(manageRole); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; } Integer code = Integer.parseInt(resultMap.get("code").toString()); if (code.equals(ResponseCodeEnum.SUCCESS.getCode())){ ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName()); int role_id = manageRoleIns.getId(); List insertList = new ArrayList(); for (Object temp: list) { Map<String,Integer> insertMap = new HashMap<>(); insertMap.put("role_id",role_id); insertMap.put("menu_id",Integer.parseInt(temp.toString())); insertList.add(insertMap); } manageRoleMapper.insertOne(manageRole); ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName()); int role_id = manageRoleIns.getId(); List insertList = new ArrayList(); for (Object temp: list) { Map<String,Integer> insertMap = new HashMap<>(); insertMap.put("role_id",role_id); insertMap.put("menu_id",Integer.parseInt(temp.toString())); insertList.add(insertMap); } //判断在新建角色时,是否添加菜单 if (insertList.size()>0){ manageRoleMenuMapper.insertBatch(insertList); } //操作插入日志 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String content = "添加角色:"+manageRole.getName()+";"; logUtils.saveOperationForManage(request,content,"1"); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; } @@ -188,12 +203,18 @@ Map deleteMap = new HashMap(); deleteMap.put("id",Integer.parseInt(map.get("id").toString())); deleteMap.put("is_delete",1); manageRoleMapper.updateManageRoleById(deleteMap); //manageRoleMapper.updateManageRoleById(deleteMap); ManageAccountRole manageAccountRole = new ManageAccountRole(); manageAccountRole.setIsDelete("1"); QueryWrapper<ManageAccountRole> wrapper = new QueryWrapper(); wrapper.eq("role_id",Integer.parseInt(map.get("id").toString())); manageAccountRoleMapper.update(manageAccountRole,wrapper); //manageAccountRoleMapper.update(manageAccountRole,wrapper); //操作插入日志 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); ManageRole manageRole1 = manageRoleMapper.selectById(Integer.parseInt(map.get("id").toString())); System.out.println(manageRole1); String content = "删除角色:"+manageRole.getName()+";"; //logUtils.saveOperationForManage(request,content,"1"); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); } screen-manage/src/main/resources/application-dev.yml
@@ -122,14 +122,10 @@ - /verificationCode/** - /system/** - /role/getAllManageRole - /role/getManageRoleByNameFuzzy - /role/insertOneManageRole - /role/updateManageRole - /role/updateRoleMenu - /role/deleteManageRole - /role/** - /menu/getAllManageMenu - /menu/getManageMenuByNameFuzzy - /menu/getManageMenuByRoleId - /api/** AES: KEY: screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -142,4 +142,15 @@ limit #{start},#{number} </select> <select id="getManageMenuByRoleId" resultMap="BaseResultMap"> select <include refid="Base_Column_List"></include> FROM manage_menu mm JOIN manage_role_menu mrm ON mm.id = mrm.menu_id AND mrm.is_delete = 0 JOIN manage_role mr ON mr.id = mrm.role_id and mr.id = #{roleId} WHERE mm.is_delete = 0 </select> </mapper>