78 lines
1.8 KiB
C#
Raw Normal View History

using System.ComponentModel.DataAnnotations;
namespace YD_Event.Application.Certificate.Dtos;
public class AddCertificateInput
{
/// <summary>
/// 证书名称
/// </summary>
[Required(ErrorMessage = "证书名称不能为空")]
public string Name { get; set; }
/// <summary>
2026-03-02 21:09:03 +08:00
/// 证书标题
/// </summary>
[Required(ErrorMessage = "证书标题不能为空")]
public string Title { get; set; }
/// <summary>
/// 证书模板内容(图片/PDF URL)
/// </summary>
[Required(ErrorMessage = "证书模板不能为空")]
public string TemplateContent { get; set; }
2026-03-02 21:09:03 +08:00
/// <summary>
/// 模板类型:0-图片,1-PDF
/// </summary>
public int TemplateType { get; set; }
/// <summary>
/// 模板宽度 (px)
/// </summary>
[Range(1, int.MaxValue, ErrorMessage = "宽度必须大于0")]
public int Width { get; set; }
/// <summary>
/// 模板高度 (px)
/// </summary>
[Range(1, int.MaxValue, ErrorMessage = "高度必须大于0")]
public int Height { get; set; }
/// <summary>
/// 占位符配置 (JSON)
/// </summary>
public string Placeholders { get; set; }
2026-02-07 16:03:52 +08:00
/// <summary>
/// 颁发机构
/// </summary>
2026-03-02 21:09:03 +08:00
[Required(ErrorMessage = "颁发机构不能为空")]
2026-02-07 16:03:52 +08:00
public string Issuer { get; set; }
2026-03-02 21:09:03 +08:00
/// <summary>
/// 发放规则
/// </summary>
public string IssueRule { get; set; }
2026-02-07 16:03:52 +08:00
/// <summary>
/// 有效期(天)
/// </summary>
public int? ValidityDays { get; set; }
2026-03-02 21:09:03 +08:00
/// <summary>
/// 二维码地址
/// </summary>
public string QrCodeUrl { get; set; }
2026-02-07 16:03:52 +08:00
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Sort { get; set; }
}