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.*; /** *

* 前端控制器 *

* * @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 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 menus = tbMenusMapper.selectList(queryWrapper); List parMenus = new ArrayList<>(); //分别取出父子级的数据另存到集合 for (int i = 0; i < menus.size(); i++) { HashMap 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 menus1 = tbMenusMapper.selectList(queryWrapper1); List 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 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); } }