ZhuDongming
2019-11-28 70830c5b2e96cc1c76d4adb88ddced55e7476547
src/main/java/com/moral/controller/MenuController.java
@@ -1,5 +1,11 @@
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;
import org.springframework.web.bind.annotation.CrossOrigin;
@@ -12,6 +18,9 @@
import com.moral.common.bean.PageBean;
import com.moral.common.bean.ResultBean;
import com.moral.entity.Menu;
import com.moral.mapper.MenuMapper;
import com.moral.mapper.RoleMenuMapper;
import com.moral.service.AccountService;
import com.moral.service.ChannelService;
import com.moral.service.MenuService;
@@ -23,7 +32,16 @@
    MenuService menuService;
    @Resource
    MenuMapper menuMapper;
    @Resource
    RoleMenuMapper roleMenuMapper;
    @Resource
    ChannelService channelService;
    @Resource
    AccountService accountService;
    @GetMapping("count-by-example")
    public ResultBean<Integer> countByExample(PageBean pageBean) {
@@ -67,4 +85,62 @@
        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
        return resultBean;
    }
    @GetMapping("menu-by-account")
    public Map<String,Object> getMenuListsByAccountName(String accountName) {
        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 = menuMapper.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;
    }
}