2025-08-10 11:53:28 +08:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Yi.Framework.AiHub.Application.Contracts.Dtos.Recharge;
|
|
|
|
|
|
|
|
|
|
|
|
public class RechargeCreateInput
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用户ID
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[Required]
|
|
|
|
|
|
public Guid UserId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 充值金额
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[Required]
|
|
|
|
|
|
[Range(0.01, double.MaxValue, ErrorMessage = "充值金额必须大于0")]
|
|
|
|
|
|
public decimal RechargeAmount { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 充值内容
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[Required]
|
|
|
|
|
|
[StringLength(500, ErrorMessage = "充值内容不能超过500个字符")]
|
|
|
|
|
|
public string Content { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-12-28 17:44:33 +08:00
|
|
|
|
/// VIP月数(为空或0表示永久VIP,1个月按31天计算)
|
2025-08-10 11:53:28 +08:00
|
|
|
|
/// </summary>
|
2025-08-13 22:19:31 +08:00
|
|
|
|
[Range(0, int.MaxValue, ErrorMessage = "月数必须大于等于0")]
|
|
|
|
|
|
public int? Months { get; set; }
|
2025-08-10 11:53:28 +08:00
|
|
|
|
|
2025-12-28 17:44:33 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// VIP天数(为空或0表示不使用天数充值)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[Range(0, int.MaxValue, ErrorMessage = "天数必须大于等于0")]
|
|
|
|
|
|
public int? Days { get; set; }
|
|
|
|
|
|
|
2025-08-10 11:53:28 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 备注
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[StringLength(1000, ErrorMessage = "备注不能超过1000个字符")]
|
|
|
|
|
|
public string? Remark { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 联系方式
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[StringLength(200, ErrorMessage = "联系方式不能超过200个字符")]
|
|
|
|
|
|
public string? ContactInfo { get; set; }
|
|
|
|
|
|
}
|