lizijie
2021-05-31 5bacbb17debde58d6ff2581e4a03a866ca009c02
菜单接口合并,查询父菜单列表
6 files modified
118 ■■■■■ changed files
screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java 15 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java 1 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java 2 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java 4 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java 70 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml 26 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java
@@ -121,17 +121,12 @@
    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<Map<String,Object>> re = manageMenuService.getManageMenuByNameFuzzy(parameters);
        Map<String,Object> re = manageMenuService.getManageMenuByCondition(parameters);
        return ResultMessage.ok(re);
    }
@@ -192,4 +187,12 @@
        List<ManageMenu> result = manageMenuService.getManageChildMenuByRoleId(Integer.parseInt(parameters.get("roleId").toString()));
        return ResultMessage.ok(result);
    }
    @ApiOperation(value = "查询所有父菜单", notes = "查询所有父菜单")
    @RequestMapping(value = "getManageParentMenu", method = RequestMethod.GET)
    public ResultMessage getManageParentMenu(HttpServletRequest request) {
        Map<String, Object> parameters = getParametersStartingWith(request, null);
        Map<String,Object> result = manageMenuService.getManageParentMenu(parameters);
        return ResultMessage.ok(result);
    }
}
screen-manage/src/main/java/com/moral/api/entity/ManageMenu.java
@@ -57,6 +57,7 @@
    /**
     * 同一级别菜单的顺序
     */
    @TableField(value = "`order`")
    private Integer order;
    /**
screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java
@@ -34,6 +34,8 @@
    List<ManageMenu> getManageRoleByNameFuzzy(Map map);
    List<ManageMenu> getManageMenuByNameFuzzy(Map map);
    List<ManageMenu> getManageMenuByCondition(Map map);
    List<ManageMenu> getManageMenuByRoleId(int roleId);
screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java
@@ -38,6 +38,10 @@
    List<Map<String,Object>> getManageMenuByNameFuzzy(Map map);
    Map<String,Object> getManageMenuByCondition(Map map);
    Map<String,Object> getManageParentMenu(Map map);
    List<Map<String,Object>> getManageMenuByParentId(Map map);
    List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles);
screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
@@ -242,10 +242,15 @@
    @Override
    public List<Map<String,Object>> getManageMenuByNameFuzzy(Map map) {
        Map limitMap = new HashMap();
        limitMap.put("name", map.get("name"));
        if(!ObjectUtils.isEmpty(map.get("name"))){
            limitMap.put("name", map.get("name"));
        }
        if(!ObjectUtils.isEmpty(map.get("parent_id"))){
            limitMap.put("parent_id", map.get("parent_id"));
        }
        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);
        List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByNameFuzzy(limitMap);
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        List<Map<String,Object>> resultList = new ArrayList<>();
        for (ManageMenu manageMenu:manageMenus) {
@@ -271,6 +276,67 @@
    }
    @Override
    public Map<String, Object> getManageMenuByCondition(Map map) {
        Map<String,Object> resultMap = new HashMap<>();
        int current = Integer.parseInt(map.get("current").toString());
        int size = Integer.parseInt(map.get("size").toString());
        Page<ManageMenu> page = new Page<>(current,size);
        QueryWrapper<ManageMenu> wrapper = new QueryWrapper();
        wrapper.eq("is_delete",Constants.NOT_DELETE);
        if(!ObjectUtils.isEmpty(map.get("name"))){
            wrapper.like("name", map.get("name"));
        }
        if(!ObjectUtils.isEmpty(map.get("parent_id"))){
            wrapper.eq("parent_id", map.get("parent_id"));
        }
        Page resultpage = manageMenuMapper.selectPage(page,wrapper);
        List<ManageMenu> manageMenus = resultpage.getRecords();
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        List<Map<String,Object>> manageMenuList = new ArrayList<>();
        for (ManageMenu manageMenu:manageMenus) {
            Map manegeMenuMap = JSON.parseObject(JSON.toJSONString(manageMenu));
            if (manageMenu.getParentId().equals(0)){
                manegeMenuMap.put("parent_name","");
            }else {
                ManageMenu parentMenu = manageMenuMapper.getManageMenuById(manageMenu.getParentId());
                if (ObjectUtils.isEmpty(parentMenu)){
                    manegeMenuMap.put("parent_name","");
                }else {
                    String parent_name = parentMenu.getName();
                    manegeMenuMap.put("parent_name",parent_name);
                }
            }
            String createTime = SDF.format(manageMenu.getCreateTime());
            String updateTime = SDF.format(manageMenu.getUpdateTime());
            manegeMenuMap.put("createTime",createTime);
            manegeMenuMap.put("updateTime",updateTime);
            manageMenuList.add(manegeMenuMap);
        }
        resultMap.put("manageMenus",manageMenuList);
        int totalNumber = manageMenuMapper.selectCount(wrapper);
        resultMap.put("totalNumber",totalNumber);
        resultMap.put("current",current);
        resultMap.put("size",size);
        int totalPageNumber = totalNumber/size;
        if(totalNumber%size != 0){
            totalPageNumber += 1;
        }
        resultMap.put("totalPageNumber",totalPageNumber);
        return resultMap;
    }
    @Override
    public Map<String, Object> getManageParentMenu(Map map) {
        Map<String,Object> resultMap = new HashMap();
        QueryWrapper<ManageMenu> wrapper = new QueryWrapper();
        wrapper.eq("is_delete",Constants.NOT_DELETE);
        wrapper.eq("parent_id",0);
        List<ManageMenu> manageMenus = manageMenuMapper.selectList(wrapper);
        resultMap.put("manageMenus",manageMenus);
        return resultMap;
    }
    @Override
    public List<Map<String, Object>> getManageMenuByParentId(Map map) {
        Map limitMap = new HashMap();
        limitMap.put("parent_id", map.get("parent_id"));
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -190,4 +190,30 @@
        limit #{start},#{number}
    </select>
    <select id="getManageMenuByNameFuzzy" parameterType="java.util.Map" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"></include>
        from manage_menu mm
        where mm.is_delete = 0
        <if test="name != null">
            and mm.name like concat('%',#{name},'%')
        </if>
        <if test="url != null">
            and mm.url = #{url}
        </if>
        <if test="icon != null">
            and mm.icon = #{icon}
        </if>
        <if test="parent_id != null">
            and mm.parent_id = #{parent_id}
        </if>
        <if test="order != null">
            and mm.order = #{order}
        </if>
        <if test="desc != null">
            and mm.desc = #{order}
        </if>
        limit #{start},#{number}
    </select>
</mapper>