using Application.Dto.Message; using Microsoft.AspNetCore.Authorization; using Application; namespace WebApi.Controllers; [Authorize] [ApiController] [Route("api/[controller]/[action]")] public class MessageRecordController( IMessageRecordApplication messageApplication ) : ControllerBase { /// /// 获取消息列表 /// [HttpGet] public async Task> GetList([FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 20) { var result = await messageApplication.GetListAsync(pageIndex, pageSize); return PagedResponse.Done(result.Data, result.Total); } /// /// 获取未读消息数量 /// [HttpGet] public async Task> GetUnreadCount() { var count = await messageApplication.GetUnreadCountAsync(); return count.Ok(); } /// /// 标记已读 /// [HttpPost] public async Task> MarkAsRead([FromQuery] long id) { var result = await messageApplication.MarkAsReadAsync(id); return result.Ok(); } /// /// 全部标记已读 /// [HttpPost] public async Task> MarkAllAsRead() { var result = await messageApplication.MarkAllAsReadAsync(); return result.Ok(); } /// /// 删除消息 /// [HttpPost] public async Task> Delete([FromQuery] long id) { var result = await messageApplication.DeleteAsync(id); return result.Ok(); } /// /// 新增消息 (测试用) /// [HttpPost] public async Task> Add([FromBody] MessageRecord message) { var result = await messageApplication.AddAsync(message); return result.Ok(); } }