using System.ComponentModel.DataAnnotations; namespace CampusErrand.Models.Dtos; /// /// 收益概览响应 /// public class EarningsOverviewResponse { /// 冻结中金额 public decimal FrozenAmount { get; set; } /// 待提现金额 public decimal AvailableAmount { get; set; } /// 提现中金额 public decimal WithdrawingAmount { get; set; } /// 已提现金额 public decimal WithdrawnAmount { get; set; } } /// /// 收益记录响应 /// public class EarningRecordResponse { public int Id { get; set; } public int OrderId { get; set; } public string OrderNo { get; set; } = string.Empty; public string OrderType { get; set; } = string.Empty; public decimal? GoodsAmount { get; set; } public decimal Commission { get; set; } public decimal PlatformFee { get; set; } public decimal NetEarning { get; set; } public string Status { get; set; } = string.Empty; public DateTime? CompletedAt { get; set; } public DateTime CreatedAt { get; set; } } /// /// 提现记录响应 /// public class WithdrawalRecordResponse { public int Id { get; set; } public decimal Amount { get; set; } public string PaymentMethod { get; set; } = string.Empty; public string Status { get; set; } = string.Empty; public DateTime CreatedAt { get; set; } } /// /// 申请提现请求 /// public class WithdrawRequest { /// 提现金额(最低 1 元,小数点后最多 2 位) public decimal Amount { get; set; } /// 收款方式:WeChat 或 Alipay [Required(ErrorMessage = "收款方式不能为空")] public string PaymentMethod { get; set; } = string.Empty; } /// /// 管理端提现审核请求 /// public class AdminWithdrawalRequest { /// 操作:approve(通过)、reject(拒绝)、processing(处理中) [Required(ErrorMessage = "操作类型不能为空")] public string Action { get; set; } = string.Empty; }