using LiveForum.Code.Base; using LiveForum.IService.Messages; using LiveForum.Model.Dto.Messages; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace LiveForum.WebApi.Controllers { /// /// 消息相关接口 /// /// [Route("api/[controller]/[action]")] [ApiController] public class MessagesController(IMessagesService messages) : ControllerBase { /// /// 获取消息列表 /// /// 请求参数 /// [HttpGet] [Authorize] public Task> GetMessages([FromQuery] GetMessagesReq request) => messages.GetMessages(request); /// /// 获取系统通知列表 /// /// 请求参数 /// [HttpGet] [Authorize] public Task> GetSystemNotifications([FromQuery] GetSystemNotificationsReq request) => messages.GetSystemNotifications(request); /// /// 标记消息为已读 /// /// 请求参数 /// [HttpPost] [Authorize] public Task> ReadMessage([FromBody] ReadMessageReq request) => messages.ReadMessage(request); /// /// 批量标记消息为已读 /// /// 请求参数 /// [HttpPost] [Authorize] public Task> ReadBatchMessages([FromBody] ReadBatchMessagesReq request) => messages.ReadBatchMessages(request); /// /// 全部标记为已读 /// /// 请求参数 /// [HttpPost] [Authorize] public Task> ReadAllMessages([FromBody] ReadAllMessagesReq request) => messages.ReadAllMessages(request); /// /// 删除消息 /// /// 请求参数 /// [HttpPost] [Authorize] public Task DeleteMessage([FromBody] DeleteMessageReq request) => messages.DeleteMessage(request); /// /// 获取未读消息数量 /// /// [HttpGet] [Authorize] public Task> GetUnreadCount() => messages.GetUnreadCount(); /// /// 获取评论回复消息列表 /// /// 请求参数 /// [HttpGet] [Authorize] public Task> GetCommentRepliesMessages([FromQuery] GetCommentRepliesMessagesReq request) => messages.GetCommentRepliesMessages(request); /// /// 获取点赞消息列表 /// /// 请求参数 /// [HttpGet] [Authorize] public Task> GetLikesMessages([FromQuery] GetLikesMessagesReq request) => messages.GetLikesMessages(request); /// /// 参与活动 /// /// 请求参数 /// [HttpPost] [Authorize] public Task> ParticipateActivity([FromBody] ParticipateActivityReq request) => messages.ParticipateActivity(request); } }