2023-12-31

发布时间 2023-12-31 21:52:33作者: 超爱彬宝同学
package com.example.backendmanage.controller;

import com.example.backendmanage.common.AjaxResult;
import com.example.backendmanage.info.Menu;
import com.example.backendmanage.info.MenuRole;
import com.example.backendmanage.mapper.MenuMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;

@RestController
@RequestMapping("/menu")
public class MenuController {
@Autowired
MenuMapper menuMapper;

@RequestMapping("/findAll")
public AjaxResult findAll(){
List<Menu> list=menuMapper.findAll();
//找到list中pid为null的
List<Menu> plist=list.stream().filter(menu -> menu.getPid()==null).collect(Collectors.toList());
//找到plist里面所有的子节点
for (Menu m :
plist) {
//根据父ID找到子ID
m.setChildren(list.stream().filter(mm -> m.getId().equals(mm.getPid())).collect(Collectors.toList()));
}
HashMap<String,Object> hashMap=new HashMap<>();
hashMap.put("result",plist);
return AjaxResult.success(hashMap);
}

@RequestMapping("/addMenu")
public AjaxResult addMenu(@RequestBody Menu menu){
return AjaxResult.success(menuMapper.addMenu(menu));
}

@RequestMapping("/addMenuRole/{roleId}")
public AjaxResult addMenuRole(@PathVariable Integer roleId, @RequestParam List<Integer> menuIds){
menuMapper.deleteMR(roleId);
for (Integer MenuId :
menuIds) {
MenuRole m = new MenuRole();
m.setMenuId(MenuId);
m.setRoleId(roleId);
menuMapper.addMR(m);
}
return AjaxResult.success(true);
}

}