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;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
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;
|
|
@RestController
|
@RequestMapping("menu")
|
@CrossOrigin(origins = "*", maxAge = 3600)
|
public class MenuController {
|
@Resource
|
MenuService menuService;
|
|
@Resource
|
ChannelMapper channelMapper;
|
|
@Resource
|
RoleMenuMapper roleMenuMapper;
|
|
@Resource
|
ChannelService channelService;
|
|
@Resource
|
AccountService accountService;
|
|
@GetMapping("count-by-example")
|
public ResultBean<Integer> countByExample(PageBean pageBean) {
|
return new ResultBean<Integer>(menuService.countByExample(pageBean));
|
}
|
|
@PostMapping("add-or-modify")
|
public ResultBean saveOrUpdate(@RequestBody Menu menu) {
|
menuService.addOrModify(menu);
|
ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
|
return resultBean;
|
}
|
|
@GetMapping("channel-list")
|
public ResultBean getChannelList(String channelName) {
|
ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
|
resultBean.setData(channelService.getChannelList(channelName));
|
return resultBean;
|
}
|
|
@GetMapping("page-allList")
|
public PageBean pageAllList(PageBean pageBean) {
|
return menuService.queryByAllPageBean(pageBean);
|
}
|
|
@GetMapping("menu-list")
|
public PageBean getMenuList(PageBean pageBean) {
|
return menuService.getMenuList(pageBean);
|
}
|
|
@GetMapping("menuParent-list")
|
public ResultBean getMenuParentList(String menuName) {
|
ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
|
resultBean.setData(menuService.getMenuParentList(menuName));
|
return resultBean;
|
}
|
|
@PostMapping("delete-by-ids")
|
public ResultBean deleteByIds(@RequestBody Integer [] ids){
|
menuService.deleteByIds(ids);
|
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 = 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;
|
}
|
}
|