kaiyu
2020-10-22 3c7db3d43212a01302c3b375f94a332e1f28d511
src/main/java/com/moral/controller/MenuController.java
@@ -1,6 +1,10 @@
package com.moral.controller;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import javax.annotation.Resource;
@@ -14,6 +18,8 @@
import com.moral.common.bean.PageBean;
import com.moral.common.bean.ResultBean;
import com.moral.entity.Menu;
import com.moral.mapper.ChannelMapper;
import com.moral.mapper.RoleMenuMapper;
import com.moral.service.AccountService;
import com.moral.service.ChannelService;
import com.moral.service.MenuService;
@@ -24,6 +30,12 @@
public class MenuController {
    @Resource
    MenuService menuService;
    @Resource
    ChannelMapper channelMapper;
    @Resource
    RoleMenuMapper roleMenuMapper;
    @Resource
    ChannelService channelService;
@@ -79,4 +91,56 @@
        Map<String,Object> mapResult = accountService.getMenuListsByAccountName(accountName);
        return mapResult;
    }
    @GetMapping("getZNodes")
    public List<Map<String,Object>> getZNodes(Integer roleId) {
        List<Map<String,Object>> zNodes= new ArrayList<>();
        List<Integer> channelIds = channelMapper.getChannelId();
        List<Integer> channels = roleMenuMapper.getChannels(roleId);
        List<Integer> menus=roleMenuMapper.getMenus(roleId);
        List<Menu> menuList=menuService.getZNodes();
        for(Integer channelId:channelIds){
            Map<String,Object> channelNodeMap=new LinkedHashMap<>();
            channelNodeMap.put("id",channelId);
            channelNodeMap.put("pId",0);
            if (Objects.equals(channelId, 1)) {
                channelNodeMap.put("name", "大屏");
            } else if (Objects.equals(channelId, 2)) {
                channelNodeMap.put("name", "web管理");
            }else if (Objects.equals(channelId, 3)) {
                channelNodeMap.put("name", "运维APP");
            }else if(Objects.equals(channelId, 4)){
                channelNodeMap.put("name", "企业客户端APP");
            }
            channelNodeMap.put("open",true);
            for(Integer roleHasChannelId:channels){
                if(roleHasChannelId.equals(channelId)){
                    channelNodeMap.put("checked",true);
                }
            }
            zNodes.add(channelNodeMap);
        }
        for(Menu menu:menuList){
            Map<String,Object> childNodeMap=new LinkedHashMap<>();
            childNodeMap.put("id",menu.getMenuOrder());
            childNodeMap.put("pId",menu.getMenuParentId());
            childNodeMap.put("name", menu.getMenuName());
            if(menu.getMenuOrder().toString().length()==2){
                childNodeMap.put("open",true);
            }
            for(Integer roleHasMenuId:menus){
                if(roleHasMenuId.equals(menu.getId())){
                    childNodeMap.put("checked", true);
                }
            }
            zNodes.add(childNodeMap);
        }
        return zNodes;
    }
    @GetMapping("menuOrders")
    public List<Integer> getMenuOrders(Integer roleId) {
        List<Integer> menuOrders=menuService.getMenuOrders(roleId);
        return menuOrders;
    }
}