157 lines
3.5 KiB
C#
157 lines
3.5 KiB
C#
|
|
using System.ComponentModel.DataAnnotations;
|
|||
|
|
|
|||
|
|
namespace YD_Event.Application.Certificate.Dtos;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 生成PDF证书输入
|
|||
|
|
/// </summary>
|
|||
|
|
public class GeneratePdfCertificateInput
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 证书ID
|
|||
|
|
/// </summary>
|
|||
|
|
[Required(ErrorMessage = "证书ID不能为空")]
|
|||
|
|
public long CertificateId { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 模板ID(可选,默认使用证书关联的模板)
|
|||
|
|
/// </summary>
|
|||
|
|
public long? TemplateId { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 占位符数据
|
|||
|
|
/// </summary>
|
|||
|
|
[Required(ErrorMessage = "占位符数据不能为空")]
|
|||
|
|
public Dictionary<string, string> Data { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否生成二维码
|
|||
|
|
/// </summary>
|
|||
|
|
public bool GenerateQRCode { get; set; } = true;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 二维码大小(像素)
|
|||
|
|
/// </summary>
|
|||
|
|
public int QRCodeSize { get; set; } = 150;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 批量生成PDF证书输入
|
|||
|
|
/// </summary>
|
|||
|
|
public class BatchGeneratePdfCertificateInput
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 证书ID
|
|||
|
|
/// </summary>
|
|||
|
|
[Required(ErrorMessage = "证书ID不能为空")]
|
|||
|
|
public long CertificateId { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 模板ID(可选)
|
|||
|
|
/// </summary>
|
|||
|
|
public long? TemplateId { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 证书数据列表
|
|||
|
|
/// </summary>
|
|||
|
|
[Required(ErrorMessage = "证书数据列表不能为空")]
|
|||
|
|
public List<Dictionary<string, string>> DataList { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否生成二维码
|
|||
|
|
/// </summary>
|
|||
|
|
public bool GenerateQRCode { get; set; } = true;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 二维码大小(像素)
|
|||
|
|
/// </summary>
|
|||
|
|
public int QRCodeSize { get; set; } = 150;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// PDF证书生成结果
|
|||
|
|
/// </summary>
|
|||
|
|
public class PdfCertificateGenerationResult
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否成功
|
|||
|
|
/// </summary>
|
|||
|
|
public bool IsSuccess { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 错误消息
|
|||
|
|
/// </summary>
|
|||
|
|
public string ErrorMessage { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 生成时间
|
|||
|
|
/// </summary>
|
|||
|
|
public DateTime GeneratedTime { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 生成耗时(毫秒)
|
|||
|
|
/// </summary>
|
|||
|
|
public long GenerationTimeMs { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// PDF文件URL
|
|||
|
|
/// </summary>
|
|||
|
|
public string PdfUrl { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 二维码图片URL
|
|||
|
|
/// </summary>
|
|||
|
|
public string QRCodeUrl { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 验证URL
|
|||
|
|
/// </summary>
|
|||
|
|
public string VerificationUrl { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 警告信息
|
|||
|
|
/// </summary>
|
|||
|
|
public List<string> Warnings { get; set; } = new();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 批量PDF证书生成结果
|
|||
|
|
/// </summary>
|
|||
|
|
public class BatchPdfCertificateGenerationResult
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 开始时间
|
|||
|
|
/// </summary>
|
|||
|
|
public DateTime StartTime { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 结束时间
|
|||
|
|
/// </summary>
|
|||
|
|
public DateTime EndTime { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 总数
|
|||
|
|
/// </summary>
|
|||
|
|
public int TotalCount { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 成功数量
|
|||
|
|
/// </summary>
|
|||
|
|
public int SuccessCount => SuccessResults.Count;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 失败数量
|
|||
|
|
/// </summary>
|
|||
|
|
public int FailedCount => FailedResults.Count;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 成功结果列表
|
|||
|
|
/// </summary>
|
|||
|
|
public List<PdfCertificateGenerationResult> SuccessResults { get; set; } = new();
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 失败结果列表
|
|||
|
|
/// </summary>
|
|||
|
|
public List<PdfCertificateGenerationResult> FailedResults { get; set; } = new();
|
|||
|
|
}
|