180 lines
4.0 KiB
C#
180 lines
4.0 KiB
C#
using System.ComponentModel.DataAnnotations;
|
||
using YD_Event.Core.Enum;
|
||
|
||
namespace YD_Event.Application.AppUser.Dtos;
|
||
|
||
/// <summary>
|
||
/// 普通用户分页查询输入
|
||
/// </summary>
|
||
public class AppUserPageInput : Pagination
|
||
{
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string? Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public Gender? Gender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 联系电话
|
||
/// </summary>
|
||
public string? Mobile { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审核状态
|
||
/// </summary>
|
||
public AuditStatus? AuditStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 开始时间
|
||
/// </summary>
|
||
public DateTime? StartTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 结束时间
|
||
/// </summary>
|
||
public DateTime? EndTime { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 领队/教练查询输入
|
||
/// </summary>
|
||
public class TeamMemberQueryInput : Pagination
|
||
{
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string? Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public Gender? Gender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 联系电话
|
||
/// </summary>
|
||
public string? Phone { get; set; }
|
||
|
||
/// <summary>
|
||
/// 技能等级(仅教练)
|
||
/// </summary>
|
||
public string? SkillLevel { get; set; }
|
||
|
||
/// <summary>
|
||
/// 认证状态(仅教练)
|
||
/// </summary>
|
||
public int? CertificationStatus { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 创建/更新成员输入
|
||
/// </summary>
|
||
public class CreateOrUpdateMemberInput
|
||
{
|
||
/// <summary>
|
||
/// ID (更新时必填)
|
||
/// </summary>
|
||
public long? Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
[Required(ErrorMessage = "姓名不能为空")]
|
||
public string Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
[Required(ErrorMessage = "性别不能为空")]
|
||
public Gender Gender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 年龄
|
||
/// </summary>
|
||
[Required(ErrorMessage = "年龄不能为空")]
|
||
public int Age { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份证号
|
||
/// </summary>
|
||
[Required(ErrorMessage = "身份证号不能为空")]
|
||
[RegularExpression(@"(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)", ErrorMessage = "身份证号格式不正确")]
|
||
public string IdCard { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份证图片URL
|
||
/// </summary>
|
||
public string? IdCardUrl { get; set; }
|
||
|
||
/// <summary>
|
||
/// 联系电话
|
||
/// </summary>
|
||
[Required(ErrorMessage = "联系电话不能为空")]
|
||
[RegularExpression(@"^1[3456789]\d{9}$", ErrorMessage = "手机号格式不正确")]
|
||
public string Phone { get; set; }
|
||
|
||
/// <summary>
|
||
/// 技能等级(教练特有)
|
||
/// </summary>
|
||
public string? SkillLevel { get; set; }
|
||
|
||
/// <summary>
|
||
/// 认证状态(教练特有):0-未认证,1-已认证
|
||
/// </summary>
|
||
public int? CertificationStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 备注
|
||
/// </summary>
|
||
public string? Remark { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成员状态变更输入
|
||
/// </summary>
|
||
public class ChangeMemberStatusInput
|
||
{
|
||
/// <summary>
|
||
/// ID
|
||
/// </summary>
|
||
[Required]
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 状态:1-启用,2-禁用
|
||
/// </summary>
|
||
[Required]
|
||
public AvailabilityStatus Status { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 普通用户输出
|
||
/// </summary>
|
||
public class AppUserOutput
|
||
{
|
||
public long Id { get; set; }
|
||
public long UserId { get; set; }
|
||
public string Name { get; set; }
|
||
public Gender Gender { get; set; }
|
||
public string Mobile { get; set; }
|
||
public string IdCardNumber { get; set; }
|
||
public string? IdCardImageUrl { get; set; }
|
||
public AuditStatus AuditStatus { get; set; }
|
||
public string? AuditRemark { get; set; }
|
||
public DateTime CreatedTime { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 审核输入
|
||
/// </summary>
|
||
public class AuditInput
|
||
{
|
||
public List<long> Ids { get; set; }
|
||
public AuditStatus Status { get; set; }
|
||
public string? Remark { get; set; }
|
||
}
|