lizijie
2021-03-25 680467cafe81445bda4cd71d93fb489ca436c5a1
角色菜单模糊查询
12 files modified
227 ■■■■■ changed files
screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java 3 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java 51 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java 13 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java 4 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/mapper/ManageRoleMenuMapper.java 6 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java 7 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java 61 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java 2 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/application-dev.yml 5 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml 17 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/ManageRoleMenuMapper.xml 35 ●●●●● patch | view | raw | blame | history
screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -27,7 +27,8 @@
    ROLE_IS_EXPIRE(-15, "用户名无效"),
    ROLE_IS_NULL(-16, "密码无效"),
    MENU_IS_EXPIRE(-17, "用户已过期"),
    MENU_IS_NULL(-18, "组已存在")
    MENU_IS_NULL(-18, "组已存在"),
    PARAMETERS_NOT_REQUIREMENT(-19, "参数不符合要求")
    ;
    private final Integer code;
screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java
@@ -5,6 +5,7 @@
import com.moral.api.entity.ManageRole;
import com.moral.api.service.ManageMenuService;
import com.moral.api.service.ManageRoleService;
import com.moral.constant.ResponseCodeEnum;
import com.moral.constant.ResultMessage;
import com.moral.util.WebUtils;
import io.swagger.annotations.Api;
@@ -19,6 +20,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -27,7 +29,7 @@
@Slf4j
@Api(tags = {"菜单"})
@RestController
@RequestMapping("/manage")
@RequestMapping("/menu")
public class ManageMenuController {
    @Autowired
@@ -88,4 +90,51 @@
        }
        return ResultMessage.fail(msg);
    }
    @ApiOperation(value = "查询所有菜单", notes = "查询所有菜单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int")
    })
    @RequestMapping(value = "getAllManageMenu", method = RequestMethod.GET)
    public ResultMessage getAllManageMenu(HttpServletRequest request) {
        Map<String, Object> parameters = getParametersStartingWith(request, null);
        Map<String,Object> resultMap = new HashMap<>();
        if (parameters.get("current") == null || parameters.get("size") == null){
            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
            return ResultMessage.fail(resultMap);
        }
        if (Integer.parseInt(parameters.get("current").toString())<1 || Integer.parseInt(parameters.get("size").toString())<1){
            resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode());
            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg());
            return ResultMessage.fail(resultMap);
        }
        List<ManageMenu> result = manageMenuService.getAllWithPagingQuery(parameters);
        return ResultMessage.ok(result);
    }
    @ApiOperation(value = "菜单模糊查询", notes = "菜单模糊查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int")
    })
    @RequestMapping(value = "getManageMenuByNameFuzzy", method = RequestMethod.GET)
    public ResultMessage getManageMenuByNameFuzzy(HttpServletRequest request) {
        Map<String, Object> parameters = getParametersStartingWith(request, null);
        Map<String,Object> resultMap = new HashMap<>();
        if (parameters.get("name") == null || parameters.get("current") == null || parameters.get("size") == null){
            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
            return ResultMessage.fail(resultMap);
        }
        if (Integer.parseInt(parameters.get("current").toString())<1 || Integer.parseInt(parameters.get("size").toString())<1){
            resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode());
            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg());
            return ResultMessage.fail(resultMap);
        }
        List<ManageMenu> re = manageMenuService.getManageMenuByNameFuzzy(parameters);
        return ResultMessage.ok(re);
    }
}
screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java
@@ -29,7 +29,7 @@
@Slf4j
@Api(tags = {"角色"})
@RestController
@RequestMapping("/manage")
@RequestMapping("/role")
public class ManageRoleController {
    @Autowired
@@ -115,7 +115,6 @@
    @RequestMapping(value = "getManageRoleByNameFuzzy", method = RequestMethod.GET)
    public ResultMessage getManageRoleByNameFuzzy(HttpServletRequest request) {
        Map<String, Object> parameters = getParametersStartingWith(request, null);
        //ManageRole manageRole = JSON.parseObject(JSON.toJSONString(parameters), ManageRole.class);
        List<ManageRole> re = manageRoleService.getManageRoleByNameFuzzy(parameters);
        return ResultMessage.ok(re);
    }
@@ -124,15 +123,17 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int")
    })
    @RequestMapping(value = "updateRoleMenu", method = RequestMethod.GET)
    @RequestMapping(value = "updateRoleMenu", method = RequestMethod.POST)
    public ResultMessage updateRoleMenu(HttpServletRequest request) {
        Map<String, Object> parameters = getParametersStartingWith(request, null);
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        int id = Integer.parseInt(parameters.get("id").toString());
        List list = new ArrayList();
        list.add(1);
        list.add(2);
        //list.add(1);
        //list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        Map<String,Object> re = manageRoleMenuService.updateRoleMenu(list,id);
        return ResultMessage.ok(re);
    }
screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java
@@ -45,4 +45,8 @@
    void updateManageMenuById(Map map);
    List<ManageMenu> getDataWithPage(Map map);
    List<ManageMenu> getManageRoleByNameFuzzy(Map map);
}
screen-manage/src/main/java/com/moral/api/mapper/ManageRoleMenuMapper.java
@@ -20,4 +20,10 @@
    void insertBatch(@Param("list")List<Map> list);
    void updateDeleteStateByMenu_id(Map map);
    List<Map> getDataByMenuIds(@Param("list")List list,@Param("role_id")int role_id);
    List<Map> getDataByRoleId(int role_id);
    void updateDeleteStateByRoleIdMenuIds(@Param("list")List list,@Param("role_id")int role_id);
}
screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
@@ -25,4 +26,10 @@
    @Transactional
    Map<String,Object> deleteManageMenu(Map map);
    @Transactional
    List<ManageMenu> getAllWithPagingQuery(Map map);
    @Transactional
    List<ManageMenu> getManageMenuByNameFuzzy(Map map);
}
screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
@@ -1,5 +1,7 @@
package com.moral.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.entity.ManageMenu;
import com.moral.api.mapper.ManageMenuMapper;
import com.moral.api.mapper.ManageRoleMenuMapper;
@@ -12,6 +14,7 @@
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -97,4 +100,24 @@
        }
        return resultMap;
    }
    @Override
    public List<ManageMenu> getAllWithPagingQuery(Map map) {
        Map limitMap = new HashMap();
        limitMap.put("start",(Integer.parseInt(map.get("current").toString())-1)*Integer.parseInt(map.get("size").toString()));
        limitMap.put("number",Integer.parseInt(map.get("size").toString()));
        List<ManageMenu> manageMenus = manageMenuMapper.getDataWithPage(limitMap);
        System.out.println(manageMenus);
        return manageMenus;
    }
    @Override
    public List<ManageMenu> getManageMenuByNameFuzzy(Map map) {
        Map limitMap = new HashMap();
        limitMap.put("name",map.get("name"));
        limitMap.put("start",(Integer.parseInt(map.get("current").toString())-1)*Integer.parseInt(map.get("size").toString()));
        limitMap.put("number",Integer.parseInt(map.get("size").toString()));
        List<ManageMenu> manageMenus = manageMenuMapper.getManageRoleByNameFuzzy(limitMap);
        return manageMenus;
    }
}
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);
        }
        return null;
            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;
                    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;
    }
}
screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java
@@ -84,7 +84,6 @@
        if (code.equals(ResponseCodeEnum.SUCCESS.getCode())){
            ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName());
            int role_id = manageRoleIns.getId();
            System.out.println(role_id);
            List insertList = new ArrayList();
            for (Object temp: list) {
                Map<String,Integer> insertMap = new HashMap<>();
@@ -92,7 +91,6 @@
                insertMap.put("menu_id",Integer.parseInt(temp.toString()));
                insertList.add(insertMap);
            }
            System.out.println(insertList);
            manageRoleMenuMapper.insertBatch(insertList);
        }
        return resultMap;
screen-manage/src/main/resources/application-dev.yml
@@ -125,6 +125,11 @@
      - /account/yanzhengma
      - /verificationCode/get
      - /verificationCode/verify
      - /role/getAllManageRole
      - /role/getManageRoleByNameFuzzy
      - /role/updateRoleMenu
      - /menu/getAllManageMenu
      - /menu/getManageMenuByNameFuzzy
AES:
  KEY:
    AD42F7787B035B7580000EF93BE20BAD
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -165,4 +165,21 @@
        where id = #{id}
    </update>
    <select id="getDataWithPage" parameterType="java.util.Map" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"></include>
        from manage_menu mm
        where mm.is_delete = 0
        limit #{start},#{number}
    </select>
    <select id="getManageRoleByNameFuzzy" parameterType="java.util.Map" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"></include>
        from manage_menu mm
        where mm.name like concat('%',#{name},'%')
        and mm.is_delete = 0
        limit #{start},#{number}
    </select>
</mapper>
screen-manage/src/main/resources/mapper/ManageRoleMenuMapper.xml
@@ -12,6 +12,10 @@
                    <result column="is_delete" property="isDelete" />
        </resultMap>
    <sql id="Base_Column_List">
        mrm.id,mrm.role_id,mrm.menu_id,mrm.create_time,mrm.update_time,mrm.is_delete
    </sql>
    <insert id="insertBatch" parameterType="java.util.List">
        INSERT INTO manage_role_menu(role_id,menu_id)
        values
@@ -26,4 +30,35 @@
        where menu_id = #{menu_id}
    </update>
    <select id="getDataByMenuIds" parameterType="java.util.List" resultType="java.util.Map">
        select
        <include refid="Base_Column_List"></include>
        from manage_role_menu mrm
        where mrm.menu_id in
        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach>
        and mrm.role_id = #{role_id}
        and mrm.is_delete = 0
    </select>
    <select id="getDataByRoleId" resultType="java.util.Map">
        select
        <include refid="Base_Column_List"></include>
        from manage_role_menu mrm
        where mrm.role_id = #{role_id}
        and mrm.is_delete = 0
    </select>
    <update id="updateDeleteStateByRoleIdMenuIds" parameterType="java.util.List">
        update manage_role_menu
        set is_delete = 1
        where menu_id in
        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach>
        and role_id = #{role_id}
        and is_delete = 0
    </update>
</mapper>