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