using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LifePayment.Domain.Shared; public class SealSaveInput { /// /// 印章id,为空时表示添加,不为空时表示修改 /// [JsonProperty("seal_id")] public string? SealId { get; set; } /// /// 印章名称 /// [JsonProperty("seal_name")] [Required(ErrorMessage = "印章名称是必填项")] public string SealName { get; set; } /// /// 印章描述 /// [JsonProperty("seal_description")] [Required(ErrorMessage = "印章描述是必填项")] public string SealDescription { get; set; } /// /// 印章类型,ENTERPRISE-企业公章,ENTERPRISE_WITH_CODE-带有统一社会代码的企业公章,CONTRACT-合同专用章 /// [JsonProperty("seal_type")] [Required(ErrorMessage = "印章类型是必填项")] public string SealType { get; set; } /// /// 企业名称 /// [JsonProperty("enterprise_name")] [Required(ErrorMessage = "企业名称是必填项")] public string EnterpriseName { get; set; } /// /// 统一社会信用代码 /// [JsonProperty("enterprise_cert_no")] [Required(ErrorMessage = "统一社会信用代码是必填项")] public string EnterpriseCertNo { get; set; } } public class SealBatchQueryInput { /// /// 印章id /// [JsonProperty("seal_id")] public string? SealId { get; set; } /// /// 印章名称 /// [JsonProperty("seal_name")] public string? SealName { get; set; } /// /// 页数,默认1,必须大于0 /// [JsonProperty("page_no")] [Range(1, int.MaxValue, ErrorMessage = "页数必须大于0")] public int PageNo { get; set; } = 1; /// /// 页面大小,默认200,必须大于0 /// [JsonProperty("page_size")] [Range(1, int.MaxValue, ErrorMessage = "页面大小必须大于0")] public int PageSize { get; set; } = 200; } public class SealAuthInput { /// /// 印章ID /// [JsonProperty("seal_id")] [Required(ErrorMessage = "印章ID是必填项")] public string SealId { get; set; } /// /// 授权开始时间 /// [JsonProperty("auth_start_date")] [Required(ErrorMessage = "授权开始时间是必填项")] public DateTime AuthStartDate { get; set; } /// /// 授权结束时间 /// [JsonProperty("auth_end_date")] [Required(ErrorMessage = "授权结束时间是必填项")] public DateTime AuthEndDate { get; set; } } public class FileUploadInput { /// /// 业务编码:ecsign_contract_upload /// [JsonProperty("biz_code")] [Required(ErrorMessage = "业务编码是必填项")] public string BizCode { get; set; } = AliPayEcsignConstant.AliPayEcsignSignBizCode.EcsignContractUpload; /// /// 文件的md5值,如果不传则不校验md5 /// [JsonProperty("md5")] public string? Md5 { get; set; } /// /// 文件内容的二进制流 /// [JsonIgnore] [Required(ErrorMessage = "文件内容是必填项")] public byte[] FileContent { get; set; } /// /// 文件名称 /// [JsonIgnore] public string FileName { get; set; } } public class TemplateSaveInput { /// /// 模板ID,为空时表示添加,不为空时表示修改 /// [JsonProperty("template_id")] public string? TemplateId { get; set; } /// /// 模板名称,后续会展示给用户 /// [JsonProperty("template_name")] [Required(ErrorMessage = "模板名称是必填项")] public string TemplateName { get; set; } /// /// 模板描述 /// [JsonProperty("template_memo")] [Required(ErrorMessage = "模板描述是必填项")] public string TemplateMemo { get; set; } /// /// 文件ID /// [JsonProperty("template_file_id")] [Required(ErrorMessage = "文件ID是必填项")] public string TemplateFileId { get; set; } /// /// 企业印章控件列表 /// [JsonProperty("corporate_seal_rects")] public List CorporateSealRects { get; set; } = new List(); /// /// 个人印章控件列表 /// [JsonProperty("personal_seal_rects")] public List PersonalSealRects { get; set; } = new List(); /// /// 时间戳控件列表 /// [JsonProperty("time_stamp_rects")] public List TimeStampRects { get; set; } = new List(); /// /// 单行文本框控件列表 /// [JsonProperty("singleline_text_rects")] [Required(ErrorMessage = "单行文本框控件列表是必填项")] public List SinglelineTextRects { get; set; } = new List(); /// /// 多行文本框控件列表 /// [JsonProperty("multilineTextRects")] public List MultilineTextRects { get; set; } = new List(); } public class RectItem { /// /// 输入项控件唯一表示ID,使用模板时可以根据rect_id进行填充 /// [JsonProperty("rect_id")] [Required(ErrorMessage = "控件ID是必填项")] public string RectId { get; set; } /// /// 控件名称 /// [JsonProperty("rect_name")] [Required(ErrorMessage = "控件名称是必填项")] public string RectName { get; set; } /// /// PDF页码 /// [JsonProperty("page")] [Required(ErrorMessage = "PDF页码是必填项")] public int Page { get; set; } /// /// x轴坐标,左下角为原点 /// [JsonProperty("offset_x")] [Required(ErrorMessage = "x轴坐标是必填项")] public int OffsetX { get; set; } /// /// y轴坐标,左下角为原点 /// [JsonProperty("offset_y")] [Required(ErrorMessage = "y轴坐标是必填项")] public int OffsetY { get; set; } } public class PersonalSealRectItem : RectItem { /// /// 个人签章方式:PERSONAL_SEAL-电子签章,HAND_WRITE-手写签名 /// [JsonProperty("signature_type")] public string? SignatureType { get; set; } } public class TimeStampRectItem : RectItem { /// /// 时间戳格式:yyyy-MM-dd,yyyy/MM/dd,yyyy年MM月dd日 /// [JsonProperty("time_format")] [Required(ErrorMessage = "时间戳格式是必填项")] public string TimeFormat { get; set; } } public class TextRectItem : RectItem { /// /// 是否必填,默认true /// [JsonProperty("required")] public bool Required { get; set; } = true; /// /// 控件样式 /// [JsonProperty("rectStyle")] [Required(ErrorMessage = "控件样式是必填项")] public RectStyle RectStyle { get; set; } } public class RectStyle { /// /// 控件宽度,文字超出部分会被裁剪 /// [JsonProperty("width")] [Required(ErrorMessage = "控件宽度是必填项")] public double Width { get; set; } /// /// 控件高度 /// [JsonProperty("height")] public double Height { get; set; } = 22.0; /// /// 填充字体,默认 1-宋体 /// [JsonProperty("font")] public int Font { get; set; } = 1; /// /// 填充字体大小,默认12 /// [JsonProperty("font_size")] public int FontSize { get; set; } = 12; /// /// 填充字体颜色,默认#000000 黑色 /// [JsonProperty("text_color")] public string TextColor { get; set; } = "#000000"; } public class TemplateBatchQueryInput { /// /// 模板ID(可选) /// [JsonProperty("template_id")] public string TemplateId { get; set; } /// /// 模板名称(可选) /// [JsonProperty("template_name")] public string TemplateName { get; set; } /// /// 页数,默认1,必须大于0(可选) /// [JsonProperty("page_no")] public int PageNo { get; set; } = 1; /// /// 页面大小,默认200(可选) /// [JsonProperty("page_size")] public int PageSize { get; set; } = 200; } public class TemplateQueryInput { [JsonProperty("template_id")] public string TemplateId { get; set; } } public class SolutionSaveInput { /// /// 签约方案编码,为空时表示添加,不为空时表示修改 /// [JsonProperty("solution_code")] public string? SolutionCode { get; set; } /// /// 签约方案名称,签署时会对客展示 /// [JsonProperty("solution_name")] [Required(ErrorMessage = "签约方案名称是必填项")] public string SolutionName { get; set; } /// /// 签约方案描述 /// [JsonProperty("solution_description")] [Required(ErrorMessage = "签约方案描述是必填项")] public string SolutionDescription { get; set; } /// /// 签约合同列表 /// [JsonProperty("template_vo_list")] [Required(ErrorMessage = "签约合同列表是必填项")] public List TemplateVoList { get; set; } = new List(); /// /// 签约核身配置 /// [JsonProperty("attribute_vo_list")] [Required(ErrorMessage = "签约核身配置是必填项")] public List AttributeVoList { get; set; } = new List(); } public class TemplateVo { /// /// 合同模板ID /// [JsonProperty("template_id")] [Required(ErrorMessage = "合同模板ID是必填项")] public string TemplateId { get; set; } } public class AttributeVo { /// /// 签约方式:EXTERNAL_H5-端外H5,MINI_APP-支付宝小程序/插件 /// [JsonProperty("access_config_code")] [Required(ErrorMessage = "签约方式是必填项")] public string AccessConfigCode { get; set; } /// /// 核身方式: /// EXTERNAL_H5_SMS-端外H5, /// FACE_PASSWORD_ALIPAY-支付宝小程序/插件 /// [JsonProperty("verify_code")] [Required(ErrorMessage = "核身方式是必填项")] public string VerifyCode { get; set; } } public class SolutionBatchQueryInput { /// /// 签约方案编码 /// [JsonProperty("solution_code")] public string? SolutionCode { get; set; } /// /// 签约方案名称 /// [JsonProperty("solution_name")] public string? SolutionName { get; set; } /// /// 页数,默认1,必须大于0 /// [JsonProperty("page_no")] [Range(1, int.MaxValue, ErrorMessage = "页数必须大于0")] public int PageNo { get; set; } = 1; /// /// 页面大小,默认200 /// [JsonProperty("page_size")] [Range(1, int.MaxValue, ErrorMessage = "页面大小必须大于0")] public int PageSize { get; set; } = 200; } public class SolutionQueryInput { /// /// 签约方案编码 /// [JsonProperty("solution_code")] public string SolutionCode { get; set; } } public class DataprepareCreateInput { /// /// 业务流水号,业务需保证内部唯一 /// [JsonProperty("out_order_no")] [Required(ErrorMessage = "业务流水号是必填项")] public string OutOrderNo { get; set; } /// /// 签约方案编码,签约方案管理中新增获得 /// [JsonProperty("solution_code")] [Required(ErrorMessage = "签约方案编码是必填项")] public string SolutionCode { get; set; } /// /// 跳转类型,NORMAL-链接跳转 /// [JsonProperty("jump_type")] [Required(ErrorMessage = "跳转类型是必填项")] public string JumpType { get; set; } = "NORMAL"; /// /// 签约用户信息 /// [JsonIgnore] [Required(ErrorMessage = "签约用户信息是必填项")] public SignUser SignUser { get; set; } /// /// 合同模板参数 /// [JsonIgnore] public Dictionary TemplateData { get; set; } /// /// 签约扩展字段,无需传入,只需要传入SignUser和TemplateData 将根据这两个字段自动生成,填写用户信息以及控件rect_id的value值,查看合同时会进行校验 /// [JsonProperty("ext_info")] public string ExtInfo { get; set; } } public class SignUser { /// /// 签约的用户姓名 /// [JsonProperty("signerName")] [Required(ErrorMessage = "签约的用户姓名是必填项")] public string SignerName { get; set; } /// /// 签约的用户身份证号 /// [JsonProperty("certNo")] [Required(ErrorMessage = "签约的用户身份证号是必填项")] public string CertNo { get; set; } /// /// 签约的用户手机号 /// [JsonProperty("bindedMobile")] public string? BindedMobile { get; set; } } public class SignorderQueryInput { /// /// 签约方案编码 /// [JsonProperty("solution_code")] [Required(ErrorMessage = "签约方案编码是必填项")] public string SolutionCode { get; set; } /// /// 发起签约的业务流水号 /// [JsonProperty("out_order_no")] [Required(ErrorMessage = "发起签约的业务流水号是必填项")] public string OutOrderNo { get; set; } }