150 lines
3.2 KiB
C#
Raw Normal View History

2026-03-07 22:45:51 +08:00
using System.ComponentModel.DataAnnotations;
using YD_Event.Core.Enum;
namespace YD_Event.Application.Points.Dtos;
/// <summary>
/// 积分记录查询输入
/// </summary>
public class PointsRecordQueryInput : Pagination
{
/// <summary>
/// 用户类型(0-普通用户 1-单位用户)
/// </summary>
public int UserType { get; set; }
/// <summary>
/// 关键字(用户名/手机号/商户名称)
/// </summary>
public string? Keyword { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime? EndTime { get; set; }
/// <summary>
/// 积分排序(asc/desc)
/// </summary>
public string? SortPoints { get; set; }
}
/// <summary>
/// 积分明细查询输入
/// </summary>
public class PointsDetailQueryInput : Pagination
{
/// <summary>
/// 用户ID
/// </summary>
[Required]
public long UserId { get; set; }
/// <summary>
/// 用户类型(0-普通用户 1-单位用户)
/// </summary>
public int UserType { get; set; }
/// <summary>
/// 变动类型(1-获取 2-消耗)
/// </summary>
public PointsOperationType? Type { get; set; }
}
/// <summary>
/// 积分记录列表输出
/// </summary>
public class PointsRecordListOutput
{
/// <summary>
/// 用户ID(普通用户ID或商户ID)
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 用户类型(0-普通用户 1-单位用户)
/// </summary>
public int UserType { get; set; }
/// <summary>
/// 姓名/商户名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 联系电话
/// </summary>
public string Phone { get; set; }
/// <summary>
/// 身份证图片/统一社会信用代码
/// </summary>
public string IdentityInfo { get; set; }
/// <summary>
/// 积分额度
/// </summary>
public decimal TotalPoints { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
public DateTime? LastUpdateTime { get; set; }
}
/// <summary>
/// 积分明细输出
/// </summary>
public class PointsDetailOutput
{
/// <summary>
/// 生成时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 变动类型
/// </summary>
public PointsOperationType Type { get; set; }
/// <summary>
/// 动作/来源
/// </summary>
public string Action { get; set; }
/// <summary>
/// 项目
/// </summary>
public string? Item { get; set; }
/// <summary>
/// 组别
/// </summary>
public string? Group { get; set; }
/// <summary>
/// 变动积分
/// </summary>
public decimal Points { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Remark { get; set; }
/// <summary>
/// 参赛人姓名(单位用户特有)
/// </summary>
public string? ParticipantName { get; set; }
/// <summary>
/// 参赛人ID(单位用户特有)
/// </summary>
public long? ParticipantId { get; set; }
}