修改User模块

This commit is contained in:
chfei committed 2026-10-23 19:01:28 +08:00
1 parent d6471f97d3
commit bb7162aaf6
21 files changed
+278 -336

No files matched your search

@@ -1,15 +1,23 @@
using System.ComponentModel.DataAnnotations;
namespace Store.Users.Contracts.Dtos;
/// <summary>资金请求;DTO 只声明非空规则,金额、长度和操作规则由服务判断。</summary>
public sealed class UserFundsRequest
/// <summary>资金请求;DTO 检查输入,服务区分积分/余额操作并校验权限。</summary>
public sealed class UserFundsRequest : IValidatableObject
{
[Required(ErrorMessage = "目标账户不能为空")] public string UserName { get; set; } = "";
[Required(ErrorMessage = "请求号不能为空")] public string RequestId { get; set; } = "";
[Required(ErrorMessage = "目标账户不能为空"), StringLength(20)] public string UserName { get; set; } = "";
[Required(ErrorMessage = "请求号不能为空"), StringLength(64)] public string RequestId { get; set; } = "";
[Range(typeof(decimal), "0.01", "1000000")]
public decimal Amount { get; set; }
/// <summary>积分支持充值、转移;余额支持充值、消费。</summary>
[Required(ErrorMessage = "操作类型不能为空")] public string Operation { get; set; } = "";
[Required(ErrorMessage = "操作类型不能为空"), StringLength(20)] public string Operation { get; set; } = "";
[StringLength(255)]
public string? Remark { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (decimal.Round(Amount, 2) != Amount)
yield return new ValidationResult("金额最多保留两位小数", [nameof(Amount)]);
}
}
public sealed record UserFundsResponse(string UserName, decimal Value, string RequestId);