package cn.timer.api.bean.dzht;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author dsc 2019-12-30
 */
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_cjlc")
@ApiModel("e签宝创建签署流程")
public class DzhtAssoCjlc extends Model<DzhtAssoCjlc> {

	private static final long serialVersionUID = 2598410643156906220L;

	@Id
	@GeneratedValue
	@TableId(type = IdType.AUTO)
	@ApiModelProperty(value = "编号")
	private Integer id;

	@ApiModelProperty(value = "文件主题(必填)", example = "(必填参数)")
	private String businessScene;
	
//	@ApiModelProperty(value = "签署人,逗号分隔", example = "")
//	private String singerAccountId;

	@ApiModelProperty(value = "是否自动归档,默认false", example = "false")
	private Boolean autoArchive;

	@ApiModelProperty(value = "回调通知地址", example = "回调通知地址 ,默认取项目配置通知地址")
	private String noticeDeveloperUrl;

	@ApiModelProperty(value = "通知方式", example = "通知方式,逗号分割,1-短信,2-邮件 。默认值1,请务必请选择一个通知方式,"
			+ "否则客户将接收不到流程的签署通知和审批通知,如果流程需要审批,将导致审批无法完成;如果客户需要不通知,可以设置noticeType=\"\"")
	private String noticeType;

	@ApiModelProperty(value = "签署完成重定向地址", example = "签署完成重定向地址,默认签署完成停在当前页面")
	private String redirectUrl;

	@ApiModelProperty(value = "签署平台", example = "签署平台,逗号分割,1-开放服务h5,2-支付宝签 ,默认值1")
	private String signPlatform;

	@ApiModelProperty(value = "文件有效截止日期", example = "文件有效截止日期,毫秒,默认不失效;若时间到了该参数设置的时间,则会触发【流程文件过期通知】")
	private Long contractValidity;

	@ApiModelProperty(value = "文件到期前,提前多少小时回调提醒续签", example = "文件到期前,提前多少小时回调提醒续签,小时(时间区间:1小时——15天),"
			+ "默认不提醒;若时间到了该参数设置的时间,则会触发【流程文件过期前通知】")
	private Integer contractRemind;

	@ApiModelProperty(value = "签署有效截止日期,毫秒", example = "签署有效截止日期,毫秒,默认不失效;若时间到了该参数设置的时间,则会触发【流程结束回调通知】")
	private Long signValidity;

	@ApiModelProperty(value = "发起人账户id", example = "发起人账户id,即发起本次签署的操作人个人账号id;如不传,默认由对接平台发起")
	private String initiatorAccountId;

	@ApiModelProperty(value = "发起方主体id", example = "发起方主体id,如存在个人代机构发起签约,则需传入机构id;如不传,则默认是对接平台")
	private String initiatorAuthorizedAccountId;

	@ApiModelProperty(value = "签署流程id", example = "(返回的参数  不用填)")
	private String flowId;
	
	@ApiModelProperty(value = "创建人", example = "")
	private Integer creater;
	
	@ApiModelProperty(value = "创建时间", example = "")
	private Date createdTime;
	
	@ApiModelProperty(value = "机构id", example = "117")
	private Integer orgCode;

}