package com.dgtly.system.domain;

import lombok.Data;

/**
 * @FileName: ESignCorpAuthParam
 * @Description: e签宝发起企业授权书签署任务请求参数
 *
 *   接口文档：https://open.esign.cn/doc/opendoc/paas_api/yt92t0zfp3vl3lvg
 *
 * @author: auto-generated
 * @create: 2026-05-13
 **/
@Data
public class ESignCorpAuthParam {

    /**
     * 机构账号ID（创建机构签署账号接口返回的orgId）
     * 必填
     */
    private String accountId;

    /**
     * 签署授权书的经办人个人账号ID（创建个人签署账号接口返回的accountId）
     * 必填
     * 注意：请传入能为企业操作盖章人员的账号，会绑定 e签宝 SaaS 官网
     */
    private String transactorAccountId;

    /**
     * 授权模式
     * 1 - 授权至平台（默认，authorizedAccountId 无需传递）
     * 2 - 授权至经办人（authorizedAccountId 必传）
     * 注意：模式2默认不可用，需联系 e签宝 技术人员确认开启后使用
     */
    private Integer authorizedType;

    /**
     * 授权至经办人模式下的被授权人个人账号ID（创建个人签署账号接口返回的accountId）
     * 仅 authorizedType=2 时使用
     * 注意：若指定授权经办人模式，则被授权人的信息会带到授权书内，
     *       后续机构手动签署时可通过该被授权人代企业进行签署
     */
    private String authorizedAccountId;

    /**
     * 是否给经办人账号中的联系方式（手机号/邮箱）发送e签宝通知签署链接
     * true - 发送通知（默认）
     * false - 不发送通知
     */
    private Boolean sendNotice;

    /**
     * 授权有效期截止时间（截止到当日 23:59:59）
     * 必填
     * 格式：yyyyMMdd，类型为 long（如 20271231）
     * 注意：截止时间会显示到授权协议内，建议授权时间最长不超过3年
     */
    private Long validDate;

    /**
     * 回调通知地址（授权签署结果通知平台，签署完成或者拒签数发回调）
     */
    private String notifyUrl;

    /**
     * 授权签署完成后跳转页面（重定向到平台指定页面）
     */
    private String redirectUrl;

    /**
     * 经销商编码（业务侧字段，非e签宝参数，仅用于写入本地签署状态记录）
     */
    private String customeCode;
}
