MessageController.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package cn.poyee.endpoint;
  2. import cn.poyee.common.result.Result;
  3. import cn.poyee.entity.Message;
  4. import cn.poyee.entity.MessageRead;
  5. import cn.poyee.entity.query.MessageQuery;
  6. import cn.poyee.service.MessageService;
  7. import com.baomidou.mybatisplus.core.metadata.IPage;
  8. import lombok.AllArgsConstructor;
  9. import org.springframework.util.Assert;
  10. import org.springframework.web.bind.annotation.*;
  11. import java.util.List;
  12. import java.util.Map;
  13. import java.util.Objects;
  14. @RestController
  15. @RequestMapping("/api/msg")
  16. @AllArgsConstructor
  17. public class MessageController {
  18. private final MessageService messageService;
  19. @GetMapping("/paging")
  20. public Result<List<Message>> paging(MessageQuery query) {
  21. IPage<Message> result = messageService.paging(query);
  22. return Result.success(result.getRecords(), result.getTotal());
  23. }
  24. @GetMapping
  25. public Result<List<Message>> listMessage(MessageQuery query) {
  26. return Result.success(messageService.listMessage(query));
  27. }
  28. @PostMapping
  29. public Result<Boolean> addMessage(@RequestBody Message message) {
  30. return Result.judge(messageService.addMessage(message));
  31. }
  32. @GetMapping("/{id}")
  33. public Result<Message> byId(@PathVariable Integer id) {
  34. return Result.success(messageService.getById(id));
  35. }
  36. @PutMapping
  37. public Result<Boolean> updateMessage(@RequestBody Message message) {
  38. Assert.isTrue(Objects.nonNull(message.getId()), "缺少必填字段");
  39. return Result.success(messageService.updateMessage(message));
  40. }
  41. @DeleteMapping("/{id}")
  42. public Result<Boolean> deleteMessage(@PathVariable Integer id) {
  43. return Result.success(messageService.deleteMessage(id));
  44. }
  45. @PostMapping("/read")
  46. public Result<Object> read(@RequestParam Map<String, String> param) {
  47. return Result.success(messageService.read(param));
  48. }
  49. @GetMapping("/unread-count")
  50. public Result<Integer> unreadCount(String messageType) {
  51. return Result.success(messageService.unreadCount(messageType));
  52. }
  53. @GetMapping("/read/{messageId}")
  54. public Result<List<MessageRead>> readRecord(@PathVariable Long messageId) {
  55. return Result.success(messageService.readRecord(messageId));
  56. }
  57. }