| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package nju.seec.helper.controller;
- import nju.seec.helper.aspect.auth.Auth;
- import nju.seec.helper.aspect.auth.LoginUser;
- import nju.seec.helper.controller.response.PageResponse;
- import nju.seec.helper.dto.message.MessageDTO;
- import nju.seec.helper.entity.Message;
- import nju.seec.helper.enums.UserType;
- import nju.seec.helper.service.MessageService;
- import org.springframework.data.domain.Pageable;
- import org.springframework.data.web.PageableDefault;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- /**
- * @author cst
- */
- @RestController
- @RequestMapping("/api/message")
- public class MessageController {
- private final MessageService messageService;
- public MessageController(MessageService messageService) {
- this.messageService = messageService;
- }
- @Auth(roles = {UserType.TEACHER, UserType.STUDENT}, message = "设置已读")
- @PutMapping("/read")
- public void readMessages(LoginUser user,
- @Validated @RequestBody MessageDTO messageDTO) {
- messageService.readMessages(user, messageDTO);
- }
- @Auth(roles = {UserType.TEACHER, UserType.STUDENT}, message = "删除消息")
- @PutMapping("/delete")
- public void deleteMessages(LoginUser user,
- @Validated @RequestBody MessageDTO messageDTO) {
- messageService.deleteMessages(user, messageDTO);
- }
- @Auth(roles = {UserType.TEACHER, UserType.STUDENT}, message = "获取未读消息")
- @GetMapping("/unread")
- public PageResponse<Message> getUnreadMessages(LoginUser user,
- @RequestParam(required = false, defaultValue = "") String key,
- @PageableDefault(Integer.MAX_VALUE) Pageable pageable) {
- return PageResponse.of(messageService.getUnreadMessages(user, key, pageable));
- }
- @Auth(roles = {UserType.TEACHER, UserType.STUDENT}, message = "获取已读消息")
- @GetMapping("/read")
- public PageResponse<Message> getReadMessages(LoginUser user,
- @RequestParam(required = false, defaultValue = "") String key,
- @PageableDefault(Integer.MAX_VALUE) Pageable pageable) {
- return PageResponse.of(messageService.getReadMessages(user, key, pageable));
- }
- }
|