package com.trade.service.contract.dto;

import org.hibernate.validator.constraints.Range;

import java.util.List;

public class ContractSignInput {

    /**
     * 业务系统id 当前默认贸服通 服务化时可提供其他系统调用
     */
    private String bizSysId = "S001";
    /**
     * 签署平台 1：e签宝、2:法大大
     */
    @Range(min = 1, max = 2, message = "签署平台不合法")
    private Integer signPlatform = 1;
    /**
     * 业务类型 当前架构下作为回调业务系统时的标识
     */
    private String bizType;
    /**
     * 业务场景名称 必填项
     */
    private String bizScene;
    /**
     * 签署有效时间（单位 hour）非必填，不传默认取配置项
     */
    private Integer signValidTime;
    /**
     * 是否自动归档 非必填，默认true.即签署完成后自动归档
     */
    private Boolean autoArchive;
    /**
     * 意愿认证方式（e签宝） 非必填，默认为常量类的意愿认证方式，可传值为其子集
     */
    private List<String> willTypes;
    /**
     * 签署信息：签署人信息、签章信息 必填项
     */
    private List<ContractSignInfo> signeInfoList;

    public String getBizSysId() {
        return bizSysId;
    }

    public void setBizSysId(String bizSysId) {
        this.bizSysId = bizSysId;
    }

    public Integer getSignPlatform() {
        return signPlatform;
    }

    public void setSignPlatform(Integer signPlatform) {
        this.signPlatform = signPlatform;
    }

    public String getBizType() {
        return bizType;
    }

    public void setBizType(String bizType) {
        this.bizType = bizType;
    }

    public String getBizScene() {
        return bizScene;
    }

    public void setBizScene(String bizScene) {
        this.bizScene = bizScene;
    }

    public Integer getSignValidTime() {
        return signValidTime;
    }

    public void setSignValidTime(Integer signValidTime) {
        this.signValidTime = signValidTime;
    }

    public Boolean getAutoArchive() {
        return autoArchive;
    }

    public void setAutoArchive(Boolean autoArchive) {
        this.autoArchive = autoArchive;
    }

    public List<String> getWillTypes() {
        return willTypes;
    }

    public void setWillTypes(List<String> willTypes) {
        this.willTypes = willTypes;
    }

    public List<ContractSignInfo> getSigneInfoList() {
        return signeInfoList;
    }

    public void setSigneInfoList(List<ContractSignInfo> signeInfoList) {
        this.signeInfoList = signeInfoList;
    }
}
