namespace CampusErrand.Models.Dtos; /// /// 未读消息数响应 /// public class UnreadCountResponse { /// 系统消息未读数 public int SystemUnread { get; set; } /// 订单通知未读数 public int OrderNotificationUnread { get; set; } /// 总未读数 public int TotalUnread { get; set; } } /// /// 系统消息列表项响应 /// public class SystemMessageResponse { public int Id { get; set; } public string Title { get; set; } = string.Empty; /// 正文(截断至 3 行约 100 字) public string ContentPreview { get; set; } = string.Empty; public string? ThumbnailUrl { get; set; } public DateTime CreatedAt { get; set; } public bool IsRead { get; set; } } /// /// 系统消息详情响应 /// public class SystemMessageDetailResponse { public int Id { get; set; } public string Title { get; set; } = string.Empty; public string Content { get; set; } = string.Empty; public string? ThumbnailUrl { get; set; } public DateTime CreatedAt { get; set; } } /// /// 订单通知列表项响应 /// public class OrderNotificationResponse { public int Id { get; set; } public string OrderNo { get; set; } = string.Empty; public string OrderType { get; set; } = string.Empty; public string Title { get; set; } = string.Empty; public string ItemName { get; set; } = string.Empty; public string Status { get; set; } = string.Empty; public DateTime CreatedAt { get; set; } } /// /// 发布系统通知请求 /// public class CreateNotificationRequest { public string Title { get; set; } = string.Empty; public string Content { get; set; } = string.Empty; public string? ThumbnailUrl { get; set; } /// 目标类型:All, OrderUser, RunnerUser, Specific public string TargetType { get; set; } = "All"; /// 指定用户 ID 列表(TargetType=Specific 时使用) public List? TargetUserIds { get; set; } }