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; }
}