All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.com.antcloud.api.ato.v1_0.request.SubmitSignFlowRequest Maven / Gradle / Ivy

//
//  Copyright (c) 2020-present antgroup.com, https://www.antgroup.com
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//
//
package cn.com.antcloud.api.ato.v1_0.request;

import cn.com.antcloud.api.ato.v1_0.response.SubmitSignFlowResponse;
import cn.com.antcloud.api.product.AntCloudProdRequest;
import java.lang.Long;
import java.lang.String;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * 提交电子合同的签署流程(后置签署模式) */
public class SubmitSignFlowRequest extends AntCloudProdRequest {
  @NotNull
  private String orderId;

  @NotNull
  private String userIdType;

  @NotNull
  private String userIdNumber;

  @NotNull
  private String userName;

  private String userMobile;

  private String userEmail;

  private String signValidity;

  private String flowNotifyType;

  @NotNull
  private String businessScene;

  private String signedRedirectUrl;

  @NotNull
  private String templateList;

  private String alipayUserId;

  @NotNull
  private String merchantName;

  private String merchantTag;

  private String merchantSealId;

  @Min(1)
  @Max(10000)
  private Long merchantSignOrder;

  @NotNull
  private String merchantIdType;

  @NotNull
  private String merchantIdNumber;

  private String merchantLegalName;

  private String merchantLegalIdNumber;

  private String thirdSigner;

  private String userOpenId;

  private String merchantAppId;

  public SubmitSignFlowRequest(String productInstanceId) {
    super("antchain.ato.sign.flow.submit", "1.0", "Java-SDK-20240923", productInstanceId);
  }

  public SubmitSignFlowRequest() {
    super("antchain.ato.sign.flow.submit", "1.0", null);
    this.setSdkVersion("Java-SDK-20240923");
  }

  /**
   * 订单号 */
  public String getOrderId() {
    return this.orderId;
  }

  /**
   * 订单号 */
  public void setOrderId(String orderId) {
    this.orderId = orderId;
  }

  /**
   * CRED_PSN_CH_IDCARD: 大陆身份证
   * CRED_PSN_CH_TWCARD:台湾来往大陆通行证
   * CRED_PSN_CH_MACAO":澳门来往大陆通行证
   * CRED_PSN_CH_HONGKONG:香港来往大陆通行证
   * CRED_PSN_PASSPORT:护照 */
  public String getUserIdType() {
    return this.userIdType;
  }

  /**
   * CRED_PSN_CH_IDCARD: 大陆身份证
   * CRED_PSN_CH_TWCARD:台湾来往大陆通行证
   * CRED_PSN_CH_MACAO":澳门来往大陆通行证
   * CRED_PSN_CH_HONGKONG:香港来往大陆通行证
   * CRED_PSN_PASSPORT:护照 */
  public void setUserIdType(String userIdType) {
    this.userIdType = userIdType;
  }

  /**
   * 用户证件号,需要采用RSA加密传输 */
  public String getUserIdNumber() {
    return this.userIdNumber;
  }

  /**
   * 用户证件号,需要采用RSA加密传输 */
  public void setUserIdNumber(String userIdNumber) {
    this.userIdNumber = userIdNumber;
  }

  /**
   * 姓名,需要采用RSA加密传输 */
  public String getUserName() {
    return this.userName;
  }

  /**
   * 姓名,需要采用RSA加密传输 */
  public void setUserName(String userName) {
    this.userName = userName;
  }

  /**
   * 用户手机号,可不传;传的话需要采用RSA加密传输 */
  public String getUserMobile() {
    return this.userMobile;
  }

  /**
   * 用户手机号,可不传;传的话需要采用RSA加密传输 */
  public void setUserMobile(String userMobile) {
    this.userMobile = userMobile;
  }

  /**
   * 用户的电子邮箱,可不传;传的话需要采用RSA加密传输 */
  public String getUserEmail() {
    return this.userEmail;
  }

  /**
   * 用户的电子邮箱,可不传;传的话需要采用RSA加密传输 */
  public void setUserEmail(String userEmail) {
    this.userEmail = userEmail;
  }

  /**
   * 签署有效期,时间戳,例如:new Date().getTime() */
  public String getSignValidity() {
    return this.signValidity;
  }

  /**
   * 签署有效期,时间戳,例如:new Date().getTime() */
  public void setSignValidity(String signValidity) {
    this.signValidity = signValidity;
  }

  /**
   * 1-短信;2-邮件 */
  public String getFlowNotifyType() {
    return this.flowNotifyType;
  }

  /**
   * 1-短信;2-邮件 */
  public void setFlowNotifyType(String flowNotifyType) {
    this.flowNotifyType = flowNotifyType;
  }

  /**
   * 业务场景,电子合同签署协议的时候的标题 */
  public String getBusinessScene() {
    return this.businessScene;
  }

  /**
   * 业务场景,电子合同签署协议的时候的标题 */
  public void setBusinessScene(String businessScene) {
    this.businessScene = businessScene;
  }

  /**
   * 签署完成跳转链接 */
  public String getSignedRedirectUrl() {
    return this.signedRedirectUrl;
  }

  /**
   * 签署完成跳转链接 */
  public void setSignedRedirectUrl(String signedRedirectUrl) {
    this.signedRedirectUrl = signedRedirectUrl;
  }

  /**
   * 签署的电子合同模板信息,List的JSON格式,Object如下:
   * {
   * templateId:'', // String格式
   * templateArgs: {
   *     "模板参数key":"模板参数值", // 必须为String
   *   }
   * } */
  public String getTemplateList() {
    return this.templateList;
  }

  /**
   * 签署的电子合同模板信息,List的JSON格式,Object如下:
   * {
   * templateId:'', // String格式
   * templateArgs: {
   *     "模板参数key":"模板参数值", // 必须为String
   *   }
   * } */
  public void setTemplateList(String templateList) {
    this.templateList = templateList;
  }

  /**
   * 用户的支付宝uid */
  public String getAlipayUserId() {
    return this.alipayUserId;
  }

  /**
   * 用户的支付宝uid */
  public void setAlipayUserId(String alipayUserId) {
    this.alipayUserId = alipayUserId;
  }

  /**
   * 公司名称 */
  public String getMerchantName() {
    return this.merchantName;
  }

  /**
   * 公司名称 */
  public void setMerchantName(String merchantName) {
    this.merchantName = merchantName;
  }

  /**
   * 商户签署区域标识。对应在合同模板的机构签署区域中的tag值(如果合同模板的签署区域的tag值为空,则可以不传这个参数)。必须完全对应,否则在多方签署的情况下根据tag找到不到对应的签署机构,会出错。 */
  public String getMerchantTag() {
    return this.merchantTag;
  }

  /**
   * 商户签署区域标识。对应在合同模板的机构签署区域中的tag值(如果合同模板的签署区域的tag值为空,则可以不传这个参数)。必须完全对应,否则在多方签署的情况下根据tag找到不到对应的签署机构,会出错。 */
  public void setMerchantTag(String merchantTag) {
    this.merchantTag = merchantTag;
  }

  /**
   * 商户需要盖的印章ID */
  public String getMerchantSealId() {
    return this.merchantSealId;
  }

  /**
   * 商户需要盖的印章ID */
  public void setMerchantSealId(String merchantSealId) {
    this.merchantSealId = merchantSealId;
  }

  /**
   * 电子合同签署顺序,如果只有1方企业签署,传入1即可。如果是多方,并且需要设置签署顺序,则需要将这个值以及thirdSigner中的signOrder做一个签署顺序。 */
  public Long getMerchantSignOrder() {
    return this.merchantSignOrder;
  }

  /**
   * 电子合同签署顺序,如果只有1方企业签署,传入1即可。如果是多方,并且需要设置签署顺序,则需要将这个值以及thirdSigner中的signOrder做一个签署顺序。 */
  public void setMerchantSignOrder(Long merchantSignOrder) {
    this.merchantSignOrder = merchantSignOrder;
  }

  /**
   * CRED_ORG_USCC:统一社会信用代码,CRED_ORG_REGCODE:工商注册号,只支持这两个值 */
  public String getMerchantIdType() {
    return this.merchantIdType;
  }

  /**
   * CRED_ORG_USCC:统一社会信用代码,CRED_ORG_REGCODE:工商注册号,只支持这两个值 */
  public void setMerchantIdType(String merchantIdType) {
    this.merchantIdType = merchantIdType;
  }

  /**
   * 商户证件号,需要采用RSA加密传输 */
  public String getMerchantIdNumber() {
    return this.merchantIdNumber;
  }

  /**
   * 商户证件号,需要采用RSA加密传输 */
  public void setMerchantIdNumber(String merchantIdNumber) {
    this.merchantIdNumber = merchantIdNumber;
  }

  /**
   * 法人姓名,需要RSA加密传输 */
  public String getMerchantLegalName() {
    return this.merchantLegalName;
  }

  /**
   * 法人姓名,需要RSA加密传输 */
  public void setMerchantLegalName(String merchantLegalName) {
    this.merchantLegalName = merchantLegalName;
  }

  /**
   * 法人证件号,需要采用RSA加密传输 */
  public String getMerchantLegalIdNumber() {
    return this.merchantLegalIdNumber;
  }

  /**
   * 法人证件号,需要采用RSA加密传输 */
  public void setMerchantLegalIdNumber(String merchantLegalIdNumber) {
    this.merchantLegalIdNumber = merchantLegalIdNumber;
  }

  /**
   * 多方签署的其他参与方的签署信息,json的array格式,参考:[{"tag":"zf_a","orgName":"上海网络科技有限公司","orgIdType":"CRED_ORG_REGCODE","orgIdNumber":"12098760923","orgLegalName":"王大浪","orgLegalIdNumber":"107120196708289012"}],其中:orgIdNumber、orgLegalName、orgLegalIdNumber需要加密传输。 */
  public String getThirdSigner() {
    return this.thirdSigner;
  }

  /**
   * 多方签署的其他参与方的签署信息,json的array格式,参考:[{"tag":"zf_a","orgName":"上海网络科技有限公司","orgIdType":"CRED_ORG_REGCODE","orgIdNumber":"12098760923","orgLegalName":"王大浪","orgLegalIdNumber":"107120196708289012"}],其中:orgIdNumber、orgLegalName、orgLegalIdNumber需要加密传输。 */
  public void setThirdSigner(String thirdSigner) {
    this.thirdSigner = thirdSigner;
  }

  /**
   * 支付宝用户 open_id */
  public String getUserOpenId() {
    return this.userOpenId;
  }

  /**
   * 支付宝用户 open_id */
  public void setUserOpenId(String userOpenId) {
    this.userOpenId = userOpenId;
  }

  /**
   * 商户支付宝应用 id */
  public String getMerchantAppId() {
    return this.merchantAppId;
  }

  /**
   * 商户支付宝应用 id */
  public void setMerchantAppId(String merchantAppId) {
    this.merchantAppId = merchantAppId;
  }
}