SysMessageController.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.aizuda.boot.modules.system.controller;
  2. import com.aizuda.boot.modules.system.entity.SysMessage;
  3. import com.aizuda.boot.modules.system.entity.vo.InformMessageVO;
  4. import com.aizuda.boot.modules.system.service.ISysMessageService;
  5. import com.aizuda.core.api.ApiController;
  6. import com.aizuda.core.api.PageParam;
  7. import com.aizuda.core.validation.Create;
  8. import com.aizuda.core.validation.Update;
  9. import com.aizuda.service.web.UserSession;
  10. import com.baomidou.kisso.annotation.Permission;
  11. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  12. import io.swagger.v3.oas.annotations.Operation;
  13. import io.swagger.v3.oas.annotations.tags.Tag;
  14. import jakarta.validation.constraints.NotEmpty;
  15. import lombok.AllArgsConstructor;
  16. import org.springframework.validation.annotation.Validated;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.List;
  19. /**
  20. * 消息发送表 前端控制器
  21. *
  22. * @author 青苗
  23. * @since 2023-10-03
  24. */
  25. @Tag(name = "系统消息表")
  26. @RestController
  27. @AllArgsConstructor
  28. @RequestMapping("/sys/message")
  29. public class SysMessageController extends ApiController {
  30. private ISysMessageService sysMessageService;
  31. @Operation(summary = "分页列表")
  32. @Permission("sys:message:page")
  33. @PostMapping("/page")
  34. public Page<SysMessage> getPage(@RequestBody PageParam<SysMessage> dto) {
  35. return sysMessageService.page(dto.page(), dto.getData());
  36. }
  37. @Operation(summary = "一键已读")
  38. @Permission("sys:message:page")
  39. @PostMapping("/read")
  40. public boolean read() {
  41. return sysMessageService.readAll(UserSession.getLoginInfo());
  42. }
  43. @Operation(summary = "告知消息")
  44. @Permission(ignore = true)
  45. @GetMapping("/inform")
  46. public InformMessageVO inform() {
  47. return sysMessageService.getInformByUser();
  48. }
  49. @Operation(summary = "查询 id 信息")
  50. @Permission("sys:message:get")
  51. @GetMapping("/get")
  52. public SysMessage get(@RequestParam Long id) {
  53. return sysMessageService.getViewedById(id);
  54. }
  55. @Operation(summary = "根据 id 修改信息")
  56. @Permission("sys:message:update")
  57. @PostMapping("/update")
  58. public boolean update(@Validated(Update.class) @RequestBody SysMessage sysMessage) {
  59. return sysMessageService.updateById(sysMessage);
  60. }
  61. @Operation(summary = "创建添加")
  62. @Permission("sys:message:create")
  63. @PostMapping("/create")
  64. public boolean create(@Validated(Create.class) @RequestBody SysMessage sysMessage) {
  65. return sysMessageService.save(sysMessage);
  66. }
  67. @Operation(summary = "根据 ids 删除")
  68. @Permission("sys:message:delete")
  69. @PostMapping("/delete")
  70. public boolean delete(@NotEmpty @RequestBody List<Long> ids) {
  71. return sysMessageService.removeByIds(ids);
  72. }
  73. }