SysMenuController.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package edu.travel.tenant.web;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import edu.travel.remote.feign.mode.dto.tenant.AddMenuDto;
  7. import edu.travel.remote.feign.mode.dto.tenant.SysMenuPageDto;
  8. import edu.travel.remote.feign.mode.vo.tenant.AddMenuVo;
  9. import edu.travel.remote.feign.mode.vo.tenant.MenuTreeVo;
  10. import edu.travel.resp.BaseResponse;
  11. import edu.travel.resp.PageResponse;
  12. import edu.travel.tenant.SysMenuRemoteController;
  13. import edu.travel.tenant.entity.SysMenu;
  14. import edu.travel.tenant.service.ISysMenuService;
  15. import edu.travel.web.BaseController;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.security.access.prepost.PreAuthorize;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.*;
  20. /**
  21. * SysMenuController 类。
  22. * <p>
  23. * 描述:
  24. *
  25. * @author huangwenwen
  26. * @date 2025/2/6
  27. */
  28. @RestController
  29. @RequestMapping("/sysMenu")
  30. public class SysMenuController extends BaseController<SysMenu> implements SysMenuRemoteController {
  31. @Autowired
  32. private ISysMenuService sysMenuService;
  33. /**
  34. * 新增菜单
  35. *
  36. * @param addMenuDto
  37. * @return
  38. */
  39. @PostMapping("/addMenu")
  40. @PreAuthorize("hasRole('超级管理员')")
  41. public BaseResponse<AddMenuVo> addMenu(@RequestBody AddMenuDto addMenuDto) {
  42. AddMenuVo addMenuVo = sysMenuService.addMenu(addMenuDto);
  43. return new BaseResponse<>(200,"sucess", addMenuVo);
  44. }
  45. /**
  46. * 删除菜单单个
  47. * @param id
  48. * @return
  49. */
  50. @PostMapping("/deleteMenuById")
  51. @PreAuthorize("hasRole('超级管理员')")
  52. public BaseResponse<Boolean> deleteMenuById(@RequestParam Long id) {
  53. Set<Long> longs = new HashSet<>();
  54. longs.add(id);
  55. sysMenuService.deleteMenuByIds(longs);
  56. return new BaseResponse<>(200,"sucess",true);
  57. }
  58. /**
  59. * 删除菜单多个
  60. * @param ids
  61. * @return
  62. */
  63. @PostMapping("/deleteMenuByIds")
  64. @PreAuthorize("hasRole('超级管理员')")
  65. public BaseResponse<Boolean> deleteMenuByIds(@RequestBody List<Long> ids ){
  66. HashSet<Long> set = new HashSet<>(ids);
  67. sysMenuService.deleteMenuByIds(set);
  68. return new BaseResponse<>(200,"sucess",true);
  69. }
  70. /**
  71. * 获取菜单分页树形列表
  72. * @param sysMenuPageDto
  73. * @return
  74. */
  75. @GetMapping("/getMenuTreeListAll")
  76. @PreAuthorize("hasRole('超级管理员')")
  77. public BaseResponse<List<MenuTreeVo>> getMenuTreeListAll(SysMenuPageDto sysMenuPageDto) {
  78. IPage<SysMenu> page = new Page<>(sysMenuPageDto.getPageNum(), sysMenuPageDto.getPageSize());
  79. IPage<SysMenu> sysMenuIPage = sysMenuService.page(page, new LambdaQueryWrapper<SysMenu>().eq(SysMenu::getDeleteFlag, 0).like(StringUtils.isNotBlank(sysMenuPageDto.getName()),SysMenu::getName,sysMenuPageDto.getName()));
  80. List<MenuTreeVo> treeList= sysMenuService.getMenuTreeListAll(sysMenuIPage.getRecords());
  81. return PageResponse.out(200, "success", treeList, (int) sysMenuIPage.getTotal(), (int) sysMenuIPage.getSize());
  82. }
  83. /**
  84. * 通过菜单id修改菜单
  85. * @param updateMenuDto
  86. * @return
  87. */
  88. @PostMapping("/updateMenuById")
  89. @PreAuthorize("hasRole('超级管理员')")
  90. public BaseResponse<Boolean> updateMenuById( @RequestBody AddMenuDto updateMenuDto) {
  91. sysMenuService.updateMenuById(updateMenuDto);
  92. return new BaseResponse<>(200,"sucess",true);
  93. }
  94. }