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;
}