MessageController.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.ylx.message.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.ylx.common.core.domain.R;
  4. import com.ylx.message.domain.dto.MessageDetailDTO;
  5. import com.ylx.message.domain.dto.SendMessageDto;
  6. import com.ylx.message.domain.vo.MessageCategoryVO;
  7. import com.ylx.message.domain.vo.MessageDetailVO;
  8. import com.ylx.message.service.IMessageService;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.annotation.Resource;
  16. import java.util.List;
  17. @RestController
  18. @RequestMapping("/message")
  19. @Api(tags = {"客户端消息"})
  20. @Slf4j
  21. @PreAuthorize("@customerAuth.isCustomer()")
  22. public class MessageController {
  23. @Resource
  24. private IMessageService messageService;
  25. @PutMapping("/read/{id}")
  26. @ApiOperation("标记单条消息已读")
  27. public R<Void> markRead(@PathVariable("id") Long id) {
  28. this.messageService.markAsRead(id);
  29. return R.ok();
  30. }
  31. @GetMapping("/category/list")
  32. @ApiOperation("获取消息分类卡片列表")
  33. public R<List<MessageCategoryVO>> getCategorySummaryList() {
  34. List<MessageCategoryVO> list = messageService.getCategoryCards();
  35. return R.ok(list);
  36. }
  37. @PostMapping("/category/detail/list")
  38. @ApiOperation("获取指定分类下的消息详情列表")
  39. public R<Page<MessageDetailVO>> getMessageListByCategory(@Validated @RequestBody MessageDetailDTO dto) {
  40. Page<MessageDetailVO> data = this.messageService.getCategoryMessages(dto);
  41. return R.ok(data);
  42. }
  43. @Deprecated
  44. @PostMapping("/sendMessage")
  45. @ApiOperation("发送消息,用来添加数据的")
  46. public R<Page<MessageDetailVO>> sendMessage(@Validated @RequestBody SendMessageDto dto) {
  47. this.messageService.sendMessage(dto.getUserId(), dto.getTriggerEvent(), dto.getVariables());
  48. return R.ok();
  49. }
  50. }