package com.hxzkmonitor.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
//import com.baomidou.mybatisplus.extension.api.R;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.hxzkmonitor.mapper.TbMenusMapper;
|
import com.hxzkmonitor.pojo.ChildrenMenu;
|
import com.hxzkmonitor.pojo.TbMenus;
|
import com.hxzkmonitor.pojo.TbMenus;
|
import com.hxzkmonitor.service.TbMenusService;
|
import com.hxzkmonitor.util.R;
|
import com.hxzkmonitor.util.StatusCode;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.*;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author wangfei
|
* @since 2024-08-07
|
*/
|
@RestController
|
@RequestMapping("/")
|
public class TbMenusController {
|
|
@Autowired
|
TbMenusMapper tbMenusMapper;
|
@Autowired
|
TbMenusService tbMenusService;
|
|
@ApiOperation(value = "分页查询", notes = "分页查询")
|
@GetMapping("/api/getMenusPage")
|
public R getMenusPage(Page page) {
|
IPage<TbMenus> ipage = tbMenusService.getMenusPage( page);
|
|
return R.ok(ipage);
|
}
|
|
@PostMapping("/api/addorupMenus")
|
public R addorupMenus(TbMenus tbMenus) {
|
return R.ok(tbMenusService.addorupMenus(tbMenus));
|
}
|
|
@GetMapping("/api/delMenus")
|
public R delMenus(Integer id) {
|
return R.ok(tbMenusService.delMenus(id));
|
}
|
|
@GetMapping("/api/searchMenus")
|
public R searchMenus(Page page,String keyword ) {
|
return R.ok(tbMenusService.searchMenus(page,keyword));
|
}
|
|
@PostMapping("api/menus")
|
public R getMenus(String code,String role) {
|
System.out.println(role);
|
// com.hxzkmonitor.util.R response = new com.hxzkmonitor.util.R(StatusCode.Success);
|
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("authrole",role);
|
List<TbMenus> menus = tbMenusMapper.selectList(queryWrapper);
|
List<TbMenus> parMenus = new ArrayList<>();
|
//分别取出父子级的数据另存到集合
|
for (int i = 0; i < menus.size(); i++) {
|
HashMap<String,String> map = new HashMap<>();
|
map.put("title",menus.get(i).getTitle());
|
map.put("icon",menus.get(i).getIcon());
|
menus.get(i).setMeta(map);
|
if (menus.get(i).getParent() != null && !Objects.equals(menus.get(i).getParent(), "")) {
|
parMenus.add(menus.get(i));
|
}
|
}
|
//根据父级id找到对应的子级数据加到父级数据的集合中
|
for (int j = 0; j < parMenus.size(); j++) {
|
QueryWrapper queryWrapper1 = new QueryWrapper<>();
|
queryWrapper1.eq("authrole",role);
|
queryWrapper1.eq("childrenid", parMenus.get(j).getParent());
|
List<TbMenus> menus1 = tbMenusMapper.selectList(queryWrapper1);
|
List<ChildrenMenu> menus2 = new ArrayList<>();
|
for (int i = 0; i < menus1.size(); i++) {
|
ChildrenMenu tbMenus = new ChildrenMenu();
|
tbMenus.setPath(menus1.get(i).getPath());
|
tbMenus.setComponent(menus1.get(i).getComponent());
|
tbMenus.setName(menus1.get(i).getName());
|
HashMap<String,String> map = new HashMap<>();
|
map.put("title",menus1.get(i).getTitle());
|
map.put("icon",menus1.get(i).getIcon());
|
tbMenus.setMeta(map);
|
menus2.add(tbMenus);
|
}
|
parMenus.get(j).setChildren(menus2);
|
}
|
// response.setData(parMenus);
|
return R.ok(parMenus);
|
}
|
|
}
|