修改User模块,同步原始代码
This commit is contained in:
1 parent
4a5fada435
commit
78b0c2bb2e
47 files changed
+2939
-193
No files matched your search
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace Store.Users.Contracts.Dtos;
|
||||
|
||||
/// <summary>资金请求;DTO 只声明非空规则,金额、长度和操作规则由服务判断。</summary>
|
||||
public sealed class UserFundsRequest
|
||||
{
|
||||
[Required(ErrorMessage = "目标账户不能为空")] public string UserName { get; set; } = "";
|
||||
[Required(ErrorMessage = "请求号不能为空")] public string RequestId { get; set; } = "";
|
||||
public decimal Amount { get; set; }
|
||||
/// <summary>积分支持充值、转移;余额支持充值、消费。</summary>
|
||||
[Required(ErrorMessage = "操作类型不能为空")] public string Operation { get; set; } = "";
|
||||
public string? Remark { get; set; }
|
||||
}
|
||||
|
||||
public sealed record UserFundsResponse(string UserName, decimal Value, string RequestId);
|
||||
@@ -0,0 +1,22 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace Store.Users.Contracts.Dtos;
|
||||
|
||||
/// <summary>按用户名查询账户;仅声明用户名非空。</summary>
|
||||
public sealed class UserNameRequest
|
||||
{
|
||||
[Required(ErrorMessage = "用户名不能为空")]
|
||||
public string UserName { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>登录输入;长度、账号是否存在及密码匹配由认证服务处理。</summary>
|
||||
public sealed class UserLoginRequest
|
||||
{
|
||||
[Required(ErrorMessage = "用户名不能为空")] public string UserName { get; set; } = "";
|
||||
[Required(ErrorMessage = "密码不能为空")] public string Password { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>按代理编码查询充值二维码。</summary>
|
||||
public sealed class UserTopUpQrcodeQuery
|
||||
{
|
||||
[Required(ErrorMessage = "代理编码不能为空")] public string AgentCode { get; set; } = "";
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text;
|
||||
@@ -24,7 +24,8 @@ namespace Store.Users.Contracts.Dtos
|
||||
/// <summary>
|
||||
/// 登录密码
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// card_id
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace Store.Users.Contracts.Dtos;
|
||||
|
||||
/// <summary>账户资料;null 保留原值,空字符串清空文本。长度与范围由服务检查。</summary>
|
||||
public class UserEditRequest
|
||||
{
|
||||
public string? NickName { get; set; }
|
||||
public string? Mobile { get; set; }
|
||||
public string? CompanyName { get; set; }
|
||||
public string? Notes { get; set; }
|
||||
public string? CardId { get; set; }
|
||||
public byte? GroupId { get; set; }
|
||||
/// <summary>仅管理员可设置;子账号不能成为管理员。</summary>
|
||||
public short? SaLevel { get; set; }
|
||||
public string? Authority { get; set; }
|
||||
public string? ForbiddenPage { get; set; }
|
||||
public string? OemId { get; set; }
|
||||
public int? ShopPointsPerMonth { get; set; }
|
||||
public decimal? PostagePerOrder { get; set; }
|
||||
public decimal? RefundPostagePerOrder { get; set; }
|
||||
public decimal? GiftOemAmountPerOrder { get; set; }
|
||||
public decimal? SyncLogisticsPerOrder { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>修改账户资料;账户 ID 与资料字段统一通过 JSON 请求体提交。</summary>
|
||||
public sealed class UserUpdateRequest : UserEditRequest
|
||||
{
|
||||
public int Id { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>创建主账号或当前主账号的直属子账号。</summary>
|
||||
public sealed class UserCreateRequest : UserEditRequest
|
||||
{
|
||||
[Required(ErrorMessage = "用户名不能为空")] public string UserName { get; set; } = "";
|
||||
[Required(ErrorMessage = "密码不能为空")] public string Password { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>修改本人密码,必须校验旧密码。</summary>
|
||||
public sealed class ChangePasswordRequest
|
||||
{
|
||||
[Required(ErrorMessage = "原密码不能为空")] public string OldPassword { get; set; } = "";
|
||||
[Required(ErrorMessage = "新密码不能为空")] public string NewPassword { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>分页参数;页码、分页大小和过滤值由服务检查。</summary>
|
||||
public class UserSearchRequest
|
||||
{
|
||||
public int Page { get; set; } = 1;
|
||||
public int PageSize { get; set; } = 50;
|
||||
public string? Keyword { get; set; }
|
||||
public byte? GroupId { get; set; }
|
||||
}
|
||||
|
||||
public sealed record UserPage<T>(long Total, IReadOnlyList<T> Items);
|
||||
|
||||
/// <summary>流水查询支持时间范围、操作类型、店铺及订单过滤。</summary>
|
||||
public sealed class UserRecordSearchRequest : UserSearchRequest
|
||||
{
|
||||
/// <summary>目标账户;省略时查询本人。</summary>
|
||||
public string? UserName { get; set; }
|
||||
public DateTime? StartTime { get; set; }
|
||||
public DateTime? EndTime { get; set; }
|
||||
public string? Operation { get; set; }
|
||||
public string? ShopId { get; set; }
|
||||
public int? PaymentType { get; set; }
|
||||
public string? OrderId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace Store.Users.Contracts.Dtos;
|
||||
|
||||
/// <summary>用户提交的充值备注。</summary>
|
||||
public sealed class UserTopUpMessageRequest
|
||||
{
|
||||
[Required(ErrorMessage = "充值备注不能为空")] public string Message { get; set; } = "";
|
||||
}
|
||||
|
||||
public sealed class UserTopUpResultRequest
|
||||
{
|
||||
public long Id { get; set; }
|
||||
[Required(ErrorMessage = "处理结果不能为空")] public string Result { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>充值二维码;长度与 Base64 格式在服务中检查。</summary>
|
||||
public sealed class UserTopUpQrcodeRequest
|
||||
{
|
||||
[Required(ErrorMessage = "代理编码不能为空")] public string AgentCode { get; set; } = "";
|
||||
[Required(ErrorMessage = "二维码不能为空")] public string QrcodeBase64 { get; set; } = "";
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using Store.Users.Contracts.Dtos;
|
||||
namespace Store.Users.Contracts;
|
||||
|
||||
/// <summary>用户认证入口,统一供宿主签发登录令牌之前调用。</summary>
|
||||
public interface IUserAuthenticationService
|
||||
{
|
||||
Task<UserInfo?> Authenticate(string userName, string password, CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in new issue
Block a user