using System.ComponentModel.DataAnnotations; namespace Store.Users.Contracts.Dtos; /// 资金请求;DTO 只声明非空规则,金额、长度和操作规则由服务判断。 public sealed class UserFundsRequest { [Required(ErrorMessage = "目标账户不能为空")] public string UserName { get; set; } = ""; [Required(ErrorMessage = "请求号不能为空")] public string RequestId { get; set; } = ""; public decimal Amount { get; set; } /// 积分支持充值、转移;余额支持充值、消费。 [Required(ErrorMessage = "操作类型不能为空")] public string Operation { get; set; } = ""; public string? Remark { get; set; } } public sealed record UserFundsResponse(string UserName, decimal Value, string RequestId);