2026-06-08 16:57:44 +08:00
|
|
|
|
using QYZH.InteractiveMagazine.Models.Dto.CheckIn;
|
|
|
|
|
|
using QYZH.InteractiveMagazine.Models.Dto.Compensation;
|
|
|
|
|
|
using QYZH.InteractiveMagazine.Models.Dto.Points;
|
2026-06-03 16:09:56 +08:00
|
|
|
|
|
2026-06-05 17:57:24 +08:00
|
|
|
|
namespace QYZH.InteractiveMagazine.Models.Dto;
|
2026-06-03 16:09:56 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Users查询输入DTO
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class UsersQueryInput : PageQueryModel
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 微信用户ID
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? WxUserId { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Users输出DTO (基本信息)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class UsersOutput
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 主键ID
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public long Id { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 微信用户ID
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string WxUserId { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 昵称
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 头像地址
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? AvatarUrl { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 积分余额
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int Points { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用户类型
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string Type { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 状态
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string Status { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 当前成长值
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int GrowthPoints { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-06-08 16:57:44 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用户详情输出DTO(包含基本信息、积分记录、签到记录、补偿任务、期刊列表)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class UserDetailOutput
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用户基本信息
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public UsersOutput BasicInfo { get; set; } = new();
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 积分使用记录(最近20条)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public List<PointsRecordOutput> PointsRecords { get; set; } = [];
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 签到记录(最近30条)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public List<CheckInRecordOutput> CheckInRecords { get; set; } = [];
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 失败的补偿任务(需要手动处理)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public List<CompensationTaskOutput> FailedCompensationTasks { get; set; } = [];
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用户拥有的期刊列表
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public List<UserJournalItemOutput> Journals { get; set; } = [];
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用户期刊项输出DTO
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class UserJournalItemOutput
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 绑定记录Id
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public long BindId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 期刊Id
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public long JournalId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 期刊标题
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string JournalTitle { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 期刊封面
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? CoverImageUrl { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 绑定类型: Read, Favorite, Subscribe
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string Type { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 绑定状态
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string Status { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 绑定时间
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-06-03 16:09:56 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 更新用户状态输入DTO
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class UpdateUserStatusInput
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 用户状态: 1-启用, 2-冻结
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int Status { get; set; }
|
|
|
|
|
|
}
|