lizijie
2021-04-16 86fb152b505a7ef6a99f20f87a71b3e773ba3b98
通过父菜单查询子菜单
5 files modified
128 ■■■■■ changed files
screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java 26 ●●●●● 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 67 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml 29 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java
@@ -131,7 +131,7 @@
            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg());
            return ResultMessage.fail(resultMap);
        }
        List<ManageMenu> re = manageMenuService.getManageMenuByNameFuzzy(parameters);
        List<Map<String,Object>> re = manageMenuService.getManageMenuByNameFuzzy(parameters);
        return ResultMessage.ok(re);
    }
@@ -157,4 +157,28 @@
        List<Map<String,Object>> result = manageMenuService.getAllWithPagingQuery(parameters);
        return ResultMessage.ok(result);
    }
    @ApiOperation(value = "通过父菜单查询子菜单", notes = "通过父菜单查询子菜单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "parent_id", value = "父菜单id", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int")
    })
    @RequestMapping(value = "getManageMenuByParentId", method = RequestMethod.GET)
    public ResultMessage getManageMenuByParentId(HttpServletRequest request) {
        Map<String,Object> parameters = getParametersStartingWith(request,null);
        Map<String,Object> resultMap = new HashMap<>();
        if (parameters.get("parent_id") == 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.getManageMenuByParentId(parameters);
        return ResultMessage.ok(re);
    }
}
screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java
@@ -34,6 +34,8 @@
    List<ManageMenu> getManageRoleByNameFuzzy(Map map);
    List<ManageMenu> getManageMenuByCondition(Map map);
    List<ManageMenu> getManageMenuByRoleId(int roleId);
}
screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java
@@ -34,7 +34,9 @@
    List getManageMenuByRoleId(int roleId);
    List<ManageMenu> getManageMenuByNameFuzzy(Map map);
    List<Map<String,Object>> getManageMenuByNameFuzzy(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
@@ -61,7 +61,7 @@
            resultMap.put("code", ResponseCodeEnum.MENU_IS_EXPIRE.getCode());
            resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXPIRE.getMsg());
        } else {
            //manageMenuMapper.insertOne(manageMenu);
            manageMenuMapper.insertOne(manageMenu);
            //操作插入日志
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            String content = "添加菜单:"+manageMenu.getName()+";";
@@ -161,8 +161,13 @@
            if (manageMenu.getParentId().equals(0)){
                manegeMenuMap.put("parent_name","");
            }else {
                String parent_name = manageMenuMapper.getManageMenuById(manageMenu.getParentId()).getName();
                manegeMenuMap.put("parent_name",parent_name);
                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());
@@ -210,13 +215,65 @@
    }
    @Override
    public List<ManageMenu> getManageMenuByNameFuzzy(Map map) {
    public List<Map<String,Object>> 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;
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        List<Map<String,Object>> resultList = 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);
            resultList.add(manegeMenuMap);
        }
        return resultList;
    }
    @Override
    public List<Map<String, Object>> getManageMenuByParentId(Map map) {
        Map limitMap = new HashMap();
        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.getManageMenuByCondition(limitMap);
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        List<Map<String,Object>> resultList = 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);
            resultList.add(manegeMenuMap);
        }
        return resultList;
    }
    @Override
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -67,7 +67,7 @@
            <if test="icon != null">
                icon,
            </if>
            <if test="parent_id != null">
            <if test="parentId != null">
                parent_id,
            </if>
            <if test="order != null">
@@ -84,8 +84,8 @@
            <if test="icon != null">
                #{icon},
            </if>
            <if test="parent_id != null">
                #{parent_id},
            <if test="parentId != null">
                #{parentId},
            </if>
            <if test="order != null">
                #{order},
@@ -154,4 +154,27 @@
        WHERE mm.is_delete = 0
    </select>
    <select id="getManageMenuByCondition" 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 = #{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>
        limit #{start},#{number}
    </select>
</mapper>