using Application.Dto.Message; using Service.Message; namespace Application; /// /// 消息记录应用服务接口 /// public interface IMessageRecordApplication { /// /// 获取消息列表(分页) /// Task GetListAsync(int pageIndex = 1, int pageSize = 20); /// /// 获取未读消息数量 /// Task GetUnreadCountAsync(); /// /// 标记为已读 /// Task MarkAsReadAsync(long id); /// /// 全部标记为已读 /// Task MarkAllAsReadAsync(); /// /// 删除消息 /// Task DeleteAsync(long id); /// /// 新增消息 /// Task AddAsync(MessageRecord message); } /// /// 消息记录应用服务实现 /// public class MessageRecordApplication( IMessageService messageService ) : IMessageRecordApplication { public async Task GetListAsync(int pageIndex = 1, int pageSize = 20) { var (list, total) = await messageService.GetPagedListAsync(pageIndex, pageSize); return new MessagePagedResult { Data = list.Select(MapToResponse).ToArray(), Total = (int)total }; } public async Task GetUnreadCountAsync() { return await messageService.GetUnreadCountAsync(); } public async Task MarkAsReadAsync(long id) { return await messageService.MarkAsReadAsync(id); } public async Task MarkAllAsReadAsync() { return await messageService.MarkAllAsReadAsync(); } public async Task DeleteAsync(long id) { return await messageService.DeleteAsync(id); } public async Task AddAsync(MessageRecord message) { return await messageService.AddAsync(message); } private static MessageRecordResponse MapToResponse(MessageRecord record) { return new MessageRecordResponse { Id = record.Id, Title = record.Title, Content = record.Content, IsRead = record.IsRead, CreateTime = record.CreateTime }; } }