using QYZH.InteractiveMagazine.Models.Enum; using System.Text.Json.Serialization; namespace QYZH.InteractiveMagazine.Models.Dto; /// /// 绑定期刊输入DTO /// public class BindJournalInput { /// /// 期刊模板Id(扫码解析的期刊定义Id) /// [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString)] public long JournalId { get; set; } /// /// 实例化期刊Id(扫码解析的具体期刊实例Id,可选) /// [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString)] public long Id { get; set; } } /// /// 绑定期刊输出DTO /// public class BindJournalOutput { /// /// 绑定记录Id /// public long Id { get; set; } /// /// 用户Id /// public long UserId { get; set; } /// /// 期刊模板Id /// public long JournalId { get; set; } /// /// 关联类型 /// public string Type { get; set; } = string.Empty; /// /// 状态 /// public string Status { get; set; } = string.Empty; /// /// 绑定时间 /// public DateTime CreatedAt { get; set; } } /// /// 用户绑定期刊消息 /// public class BindJournalMessage { /// /// 用户Id /// public long UserId { get; set; } /// /// 期刊Id /// public long JournalId { get; set; } /// /// 期刊开始时间 /// public DateTime? StartTime { get; set; } /// /// 期刊结束时间 /// public DateTime? EndTime { get; set; } /// /// 用户作答信息上传地址 /// public string UploadDomain { get; set; } = string.Empty; } /// /// 用户期刊关联查询输入DTO /// public class UserJournalQueryInput : PageQueryModel { /// /// 期刊模板Id /// public long? JournalId { get; set; } /// /// 实例化期刊Id /// public long Id { get; set; } /// /// 关联类型: Read, Favorite, Subscribe /// public string? Type { get; set; } } /// /// 生成期刊二维码输入DTO /// public class CreateUserJournalQrCodeInput { /// /// 期刊Id /// public long JournalId { get; set; } /// /// 生成数量 /// public int Count { get; set; } = 1; } /// /// 生成期刊二维码提交结果 /// public class CreateUserJournalQrCodeOutput { /// /// 期刊Id /// public long JournalId { get; set; } /// /// 请求生成数量 /// public int RequestedCount { get; set; } /// /// 已提交生成数量 /// public int AcceptedCount { get; set; } /// /// 二维码记录Id列表 /// [JsonNumberHandling(JsonNumberHandling.WriteAsString)] public List RecordIds { get; set; } = []; /// /// 是否后台生成 /// public bool IsAsync { get; set; } /// /// 提示信息 /// public string Message { get; set; } = string.Empty; } /// /// 期刊二维码查询输入DTO /// public class GenerateUserJournalQrCodeMessage { /// /// 二维码记录Id列表 /// public List RecordIds { get; set; } = []; /// /// 操作人名称 /// public string OperatorName { get; set; } = string.Empty; } /// /// 期刊二维码查询输入DTO /// public class UserJournalQrCodeQueryInput : PageQueryModel { /// /// 期刊Id /// public long? JournalId { get; set; } /// /// 用户Id /// public long? UserId { get; set; } /// /// 是否已绑定用户 /// public bool? IsBound { get; set; } /// /// 状态 /// public int? Status { get; set; } } /// /// 期刊二维码输出DTO /// public class UserJournalQrCodeOutput { /// /// 二维码记录Id /// [JsonNumberHandling(JsonNumberHandling.WriteAsString)] public long Id { get; set; } /// /// 期刊Id /// public long JournalId { get; set; } /// /// 期刊名称 /// public string JournalName { get; set; } = string.Empty; /// /// 用户Id /// public long? UserId { get; set; } /// /// 用户昵称 /// public string? UserName { get; set; } /// /// 关联类型 /// public string Type { get; set; } = string.Empty; /// /// 状态 /// public string Status { get; set; } = string.Empty; /// /// 是否已绑定用户 /// public bool IsBound { get; set; } /// /// 二维码内容 /// public string QrCodeUrl { get; set; } = string.Empty; /// /// 创建时间 /// public DateTime CreatedAt { get; set; } /// /// 绑定时间 /// public DateTime? BoundAt { get; set; } } /// /// 删除期刊二维码输入DTO /// public class DeleteUserJournalQrCodeInput { /// /// 二维码记录Id列表 /// [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString)] public List Ids { get; set; } = []; }