XjrMenuQuickController.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.xjrsoft.module.system.controller;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import cn.hutool.core.bean.BeanUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.xjrsoft.common.model.result.RT;
  6. import com.xjrsoft.common.utils.VoToColumnUtil;
  7. import com.xjrsoft.module.system.dto.*;
  8. import cn.dev33.satoken.annotation.SaCheckPermission;
  9. import com.xjrsoft.module.system.entity.XjrMenuQuick;
  10. import com.xjrsoft.module.system.service.IXjrMenuQuickService;
  11. import com.xjrsoft.module.system.vo.XjrMenuQuickListVo;
  12. import com.xjrsoft.module.system.vo.XjrMenuQuickVo;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import lombok.AllArgsConstructor;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.validation.Valid;
  18. import java.util.List;
  19. /**
  20. * @title: 快捷菜单
  21. * @Author fanxp
  22. * @Date: 2023-11-11
  23. * @Version 1.0
  24. */
  25. @RestController
  26. @RequestMapping("/system" + "/xjrmenuquick")
  27. @Api(value = "/system" + "/xjrmenuquick", tags = "快捷菜单代码")
  28. @AllArgsConstructor
  29. public class XjrMenuQuickController {
  30. private final IXjrMenuQuickService xjrMenuQuickService;
  31. @GetMapping(value = "/list")
  32. @ApiOperation(value = "快捷菜单列表(不分页)")
  33. @SaCheckPermission("xjrmenuquick:detail")
  34. public RT<List<XjrMenuQuickListVo>> list(@Valid XjrMenuQuickListDto dto) {
  35. LambdaQueryWrapper<XjrMenuQuick> queryWrapper = new LambdaQueryWrapper<>();
  36. queryWrapper
  37. .orderByDesc(XjrMenuQuick::getId)
  38. .select(XjrMenuQuick.class, x -> VoToColumnUtil.fieldsToColumns(XjrMenuQuickListVo.class).contains(x.getProperty()));
  39. List<XjrMenuQuick> list = xjrMenuQuickService.list(queryWrapper);
  40. List<XjrMenuQuickListVo> listVos = BeanUtil.copyToList(list, XjrMenuQuickListVo.class);
  41. return RT.ok(listVos);
  42. }
  43. @GetMapping(value = "/info")
  44. @ApiOperation(value = "根据id查询快捷菜单信息")
  45. @SaCheckPermission("xjrmenuquick:detail")
  46. public RT<XjrMenuQuickVo> info(@RequestParam Long id) {
  47. XjrMenuQuick xjrMenuQuick = xjrMenuQuickService.getById(id);
  48. if (xjrMenuQuick == null) {
  49. return RT.error("找不到此数据!");
  50. }
  51. return RT.ok(BeanUtil.toBean(xjrMenuQuick, XjrMenuQuickVo.class));
  52. }
  53. @PostMapping(value = "/role-save")
  54. @ApiOperation(value = "保存角色快捷菜单")
  55. @SaCheckPermission("xjrmenuquick:add")
  56. public RT<Boolean> roleSave(@Valid @RequestBody SaveRoleXjrMenuQuickDto dto) {
  57. SaveXjrMenuQuickDto params = new SaveXjrMenuQuickDto() {{
  58. setRoleId(dto.getRoleId());
  59. setDataType(2);
  60. setMenus(dto.getMenus());
  61. }};
  62. boolean isSuccess = xjrMenuQuickService.save(params);
  63. return RT.ok(isSuccess);
  64. }
  65. @PostMapping(value = "/user-save")
  66. @ApiOperation(value = "保存用户快捷菜单")
  67. @SaCheckPermission("xjrmenuquick:add")
  68. public RT<Boolean> userSave(@Valid @RequestBody List<AddXjrMenuQuickDto> dto) {
  69. SaveXjrMenuQuickDto params = new SaveXjrMenuQuickDto() {{
  70. setUserId(StpUtil.getLoginIdAsLong());
  71. setDataType(1);
  72. setMenus(dto);
  73. }};
  74. boolean isSuccess = xjrMenuQuickService.save(params);
  75. return RT.ok(isSuccess);
  76. }
  77. @PutMapping
  78. @ApiOperation(value = "修改快捷菜单")
  79. @SaCheckPermission("xjrmenuquick:edit")
  80. public RT<Boolean> update(@Valid @RequestBody UpdateXjrMenuQuickDto dto) {
  81. XjrMenuQuick xjrMenuQuick = BeanUtil.toBean(dto, XjrMenuQuick.class);
  82. return RT.ok(xjrMenuQuickService.updateById(xjrMenuQuick));
  83. }
  84. @DeleteMapping
  85. @ApiOperation(value = "删除快捷菜单")
  86. @SaCheckPermission("xjrmenuquick:delete")
  87. public RT<Boolean> delete(@Valid @RequestBody List<Long> ids) {
  88. return RT.ok(xjrMenuQuickService.removeBatchByIds(ids));
  89. }
  90. }