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; } = [];
}