REQ-3581: 接口
This commit is contained in:
parent
37bf2db22f
commit
6a516391c1
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
@ -40,116 +41,104 @@ import java.util.List;
|
||||
@FeignClient(name = "nanopart", url = "${axzo.service.nanopart:http://nanopart:8080}")
|
||||
public interface EssApi {
|
||||
|
||||
/**
|
||||
* 查询单位电子签开通情况
|
||||
*/
|
||||
@PostMapping("api/ess/getOrgAuthStates")
|
||||
ApiResult<List<GetOrgAuthStatesResponse>> getOrgAuthStates(
|
||||
@RequestBody @Valid GetOrgAuthStatesRequest request);
|
||||
/**
|
||||
* 查询单位电子签开通情况
|
||||
*/
|
||||
@PostMapping("api/ess/getOrgAuthStates")
|
||||
ApiResult<List<GetOrgAuthStatesResponse>> getOrgAuthStates(@RequestBody @Valid GetOrgAuthStatesRequest request);
|
||||
|
||||
/**
|
||||
* 查询用户电子签开通情况(认证)
|
||||
*/
|
||||
@PostMapping("api/ess/getPersonAuthState")
|
||||
ApiResult<GetPersonAuthStateResponse> getPersonAuthState(
|
||||
@RequestBody @Valid GetPersonAuthStateRequest request);
|
||||
/**
|
||||
* 查询用户电子签开通情况(认证)
|
||||
*/
|
||||
@PostMapping("api/ess/getPersonAuthState")
|
||||
ApiResult<GetPersonAuthStateResponse> getPersonAuthState(@RequestBody @Valid GetPersonAuthStateRequest request);
|
||||
|
||||
/**
|
||||
* 获取电子签登录链接
|
||||
*/
|
||||
@PostMapping("api/ess/createConsoleLoginUrl")
|
||||
ApiResult<CreateConsoleLoginUrlResponse> createConsoleLoginUrl(
|
||||
@RequestBody @Valid CreateConsoleLoginUrlRequest request);
|
||||
/**
|
||||
* 获取电子签登录链接
|
||||
*/
|
||||
@PostMapping("api/ess/createConsoleLoginUrl")
|
||||
ApiResult<CreateConsoleLoginUrlResponse> createConsoleLoginUrl(
|
||||
@RequestBody @Valid CreateConsoleLoginUrlRequest request);
|
||||
|
||||
/**
|
||||
* 获取内嵌页面链接, 有效期为5分钟
|
||||
*/
|
||||
@PostMapping("api/ess/getEmbedWebUrl")
|
||||
ApiResult<GetEmbedWebUrlResponse> getEmbedWebUrl(
|
||||
@RequestBody @Valid GetEmbedWebUrlRequest request);
|
||||
/**
|
||||
* 获取内嵌页面链接, 有效期为5分钟
|
||||
*/
|
||||
@PostMapping("api/ess/getEmbedWebUrl")
|
||||
ApiResult<GetEmbedWebUrlResponse> getEmbedWebUrl(@RequestBody @Valid GetEmbedWebUrlRequest request);
|
||||
|
||||
/**
|
||||
* 查询单位已启用的印章以及授权人员列表等等
|
||||
*/
|
||||
@PostMapping("api/ess/getOrgEnabledSeals")
|
||||
ApiResult<List<EssOrgAndSealInfo>> getOrgEnabledSeals(
|
||||
@RequestBody @Valid GetSealsRequest request);
|
||||
/**
|
||||
* 查询单位已启用的印章以及授权人员列表等等
|
||||
*/
|
||||
@PostMapping("api/ess/getOrgEnabledSeals")
|
||||
ApiResult<List<EssOrgAndSealInfo>> getOrgEnabledSeals(@RequestBody @Valid GetSealsRequest request);
|
||||
|
||||
/**
|
||||
* 查询印章管理员
|
||||
*/
|
||||
@PostMapping("api/ess/getSealPersons")
|
||||
ApiResult<List<EssSealPersonInfo>> getSealPersons(
|
||||
@RequestBody @Valid GetSealPersonRequest request);
|
||||
/**
|
||||
* 查询印章管理员
|
||||
*/
|
||||
@PostMapping("api/ess/getSealPersons")
|
||||
ApiResult<List<EssSealPersonInfo>> getSealPersons(@RequestBody @Valid GetSealPersonRequest request);
|
||||
|
||||
/**
|
||||
* 添加印章人员
|
||||
*/
|
||||
@PostMapping("api/ess/addSealPerson")
|
||||
ApiResult<Void> addSealPerson(
|
||||
@RequestBody @Valid AddSealPersonRequest request);
|
||||
/**
|
||||
* 添加印章人员
|
||||
*/
|
||||
@PostMapping("api/ess/addSealPerson")
|
||||
ApiResult<Void> addSealPerson(@RequestBody @Valid AddSealPersonRequest request);
|
||||
|
||||
/**
|
||||
* 删除印章人员
|
||||
*/
|
||||
@PostMapping("api/ess/removeSealPerson")
|
||||
ApiResult<Void> removeSealPerson(
|
||||
@RequestBody @Valid RemoveSealPersonRequest request);
|
||||
/**
|
||||
* 删除印章人员
|
||||
*/
|
||||
@PostMapping("api/ess/removeSealPerson")
|
||||
ApiResult<Void> removeSealPerson(@RequestBody @Valid RemoveSealPersonRequest request);
|
||||
|
||||
/**
|
||||
* 单个人印章授权(去授权)
|
||||
*/
|
||||
@PostMapping("api/ess/addSealAuthorization")
|
||||
ApiResult<Void> addSealAuthorization(
|
||||
@RequestBody @Valid AddSealAuthorizationRequest request);
|
||||
/**
|
||||
* 单个人印章授权(去授权)
|
||||
*/
|
||||
@PostMapping("api/ess/addSealAuthorization")
|
||||
ApiResult<Void> addSealAuthorization(@RequestBody @Valid AddSealAuthorizationRequest request);
|
||||
|
||||
/**
|
||||
* 单个人印章取消授权
|
||||
*/
|
||||
@PostMapping("api/ess/removeSealAuthorization")
|
||||
ApiResult<Void> removeSealAuthorization(
|
||||
@RequestBody @Valid RemoveSealAuthorizationRequest request);
|
||||
/**
|
||||
* 单个人印章取消授权
|
||||
*/
|
||||
@PostMapping("api/ess/removeSealAuthorization")
|
||||
ApiResult<Void> removeSealAuthorization(@RequestBody @Valid RemoveSealAuthorizationRequest request);
|
||||
|
||||
/**
|
||||
* 通过文件创建合同
|
||||
*/
|
||||
@PostMapping("api/ess/createContractByFile")
|
||||
ApiResult<CreateContractByFileResponse> createContractByFile(
|
||||
@RequestBody @Valid CreateContractByFileRequest request);
|
||||
/**
|
||||
* 通过文件创建合同
|
||||
*/
|
||||
@PostMapping("api/ess/createContractByFile")
|
||||
ApiResult<CreateContractByFileResponse> createContractByFile(
|
||||
@RequestBody @Valid CreateContractByFileRequest request);
|
||||
|
||||
/**
|
||||
* 获取签署链接, 有效期为5分钟
|
||||
*/
|
||||
@PostMapping("api/ess/getContractSignUrl")
|
||||
ApiResult<GetSignUrlResponse> getContractSignUrl(
|
||||
@RequestBody @Valid GetSignUrlRequest request);
|
||||
/**
|
||||
* 获取签署链接, 有效期为5分钟
|
||||
*/
|
||||
@PostMapping("api/ess/getContractSignUrl")
|
||||
ApiResult<GetSignUrlResponse> getContractSignUrl(@RequestBody @Valid GetSignUrlRequest request);
|
||||
|
||||
/**
|
||||
* 获取合同PDF文件地址. 下载链接有效期为5分钟
|
||||
*/
|
||||
@PostMapping("api/ess/getContractPDFUrl")
|
||||
ApiResult<DownloadSingedContractPdfResponse> getContractPDFUrl(
|
||||
@RequestBody @Valid DownloadSingedContractPdfRequest request);
|
||||
/**
|
||||
* 获取合同PDF文件地址. 下载链接有效期为5分钟
|
||||
*/
|
||||
@PostMapping("api/ess/getContractPDFUrl")
|
||||
ApiResult<DownloadSingedContractPdfResponse> getContractPDFUrl(
|
||||
@RequestBody @Valid DownloadSingedContractPdfRequest request);
|
||||
|
||||
/**
|
||||
* 从腾讯电子签下载合同PDF文件
|
||||
*/
|
||||
@PostMapping("api/ess/saveContractSnapshot")
|
||||
ApiResult<Void> saveContractSnapshot(
|
||||
@RequestBody @Valid SaveContractSnapshotRequest request);
|
||||
/**
|
||||
* 从腾讯电子签下载合同PDF文件
|
||||
*/
|
||||
@PostMapping("api/ess/saveContractSnapshot")
|
||||
ApiResult<Void> saveContractSnapshot(@RequestBody @Valid SaveContractSnapshotRequest request);
|
||||
|
||||
/**
|
||||
* 撤销合同
|
||||
*/
|
||||
@PostMapping("api/ess/revokeContract")
|
||||
ApiResult<Void> revokeContract(
|
||||
@RequestBody @Valid RevokeContractRequest request);
|
||||
/**
|
||||
* 撤销合同
|
||||
*/
|
||||
@PostMapping("api/ess/revokeContract")
|
||||
ApiResult<Void> revokeContract(@RequestBody @Valid RevokeContractRequest request);
|
||||
|
||||
/**
|
||||
* 获取合同详情, 通过合同id
|
||||
*/
|
||||
@PostMapping("api/ess/getContractByContractId")
|
||||
ApiResult<GetContractDetailByContractIdResponse> getContractByContractId(
|
||||
@RequestBody @Valid GetContractDetailByContractIdRequest request);
|
||||
/**
|
||||
* 获取合同详情, 通过合同id
|
||||
*/
|
||||
@PostMapping("api/ess/getContractByContractId")
|
||||
ApiResult<GetContractDetailByContractIdResponse> getContractByContractId(
|
||||
@RequestBody @Valid GetContractDetailByContractIdRequest request);
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api;
|
||||
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
@ -15,7 +16,7 @@ import javax.validation.Valid;
|
||||
@FeignClient(name = "nanopart", url = "${axzo.service.nanopart:http://nanopart:8080}")
|
||||
public interface EssCallbackApi {
|
||||
|
||||
@PostMapping("api/ess/callback")
|
||||
ApiResult<Object> callback(@RequestBody @Valid CallbackRequest request);
|
||||
@PostMapping("api/ess/callback")
|
||||
ApiResult<Object> callback(@RequestBody @Valid CallbackRequest request);
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -9,13 +10,14 @@ import java.util.List;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class CreateContractByFile extends CreateContractInfo {
|
||||
|
||||
/**
|
||||
* 合同文件base64: Base64.getEncoder().encodeToString(file.getBytes())
|
||||
*/
|
||||
@NotEmpty(message = "base64Files不能为空")
|
||||
private List<String> base64Files;
|
||||
/**
|
||||
* 合同文件base64: Base64.getEncoder().encodeToString(file.getBytes())
|
||||
*/
|
||||
@NotEmpty(message = "base64Files不能为空")
|
||||
private List<String> base64Files;
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.contract.Approver;
|
||||
@ -20,55 +21,54 @@ import static java.util.stream.Collectors.toSet;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public abstract class CreateContractInfo {
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@NotBlank(message = "contractName不能为空")
|
||||
private String contractName;
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@NotBlank(message = "contractName不能为空")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 合同签署方
|
||||
*/
|
||||
@Valid
|
||||
@NotEmpty(message = "approvers不能为空")
|
||||
private List<Approver> approvers;
|
||||
/**
|
||||
* 合同签署方
|
||||
*/
|
||||
@Valid
|
||||
@NotEmpty(message = "approvers不能为空")
|
||||
private List<Approver> approvers;
|
||||
|
||||
/**
|
||||
* 合同签署方的签署约束种类
|
||||
*/
|
||||
@NotNull(message = "approverConstraint不能为空")
|
||||
private Constraint constraint = Constraint.ONE_PERSON_PER_ORG;
|
||||
/**
|
||||
* 合同签署方的签署约束种类
|
||||
*/
|
||||
@NotNull(message = "approverConstraint不能为空")
|
||||
private Constraint constraint = Constraint.ONE_PERSON_PER_ORG;
|
||||
|
||||
/**
|
||||
* 签署方签署控件(印章/签名等)的生成方式.
|
||||
* 0: 在合同流程发起时,由发起人指定签署方的签署控件的位置和数量
|
||||
* 1: 签署方在签署时自行添加签署控件,可以拖动位置和控制数量
|
||||
*/
|
||||
@Range(min = 0, max = 1, message = "signBeanTag必须是0或1")
|
||||
private Long signBeanTag = 1L;
|
||||
/**
|
||||
* 签署方签署控件(印章/签名等)的生成方式.
|
||||
* 0: 在合同流程发起时,由发起人指定签署方的签署控件的位置和数量
|
||||
* 1: 签署方在签署时自行添加签署控件,可以拖动位置和控制数量
|
||||
*/
|
||||
@Range(min = 0, max = 1, message = "signBeanTag必须是0或1")
|
||||
private Long signBeanTag = 1L;
|
||||
|
||||
/**
|
||||
* 是否按 approvers 中指定的顺序进行签署
|
||||
*/
|
||||
private boolean signOrdered = false;
|
||||
/**
|
||||
* 是否按 approvers 中指定的顺序进行签署
|
||||
*/
|
||||
private boolean signOrdered = false;
|
||||
|
||||
/**
|
||||
* 合同流程的签署截止时间,格式为Unix标准时间戳, 透传给腾讯电子签
|
||||
* 如果未设置签署截止时间,则默认为合同流程创建后的365天时截止
|
||||
* 如果在签署截止时间前未完成签署,则合同状态会变为已过期,导致合同作废。
|
||||
*/
|
||||
private Long deadlineMs;
|
||||
/**
|
||||
* 合同流程的签署截止时间,格式为Unix标准时间戳, 透传给腾讯电子签
|
||||
* 如果未设置签署截止时间,则默认为合同流程创建后的365天时截止
|
||||
* 如果在签署截止时间前未完成签署,则合同状态会变为已过期,导致合同作废。
|
||||
*/
|
||||
private Long deadlineMs;
|
||||
|
||||
@JsonIgnore
|
||||
public Set<Long> getApproverOuIds() {
|
||||
if (approvers == null)
|
||||
return Collections.emptySet();
|
||||
return approvers.stream()
|
||||
.map(Approver::getOuId)
|
||||
.collect(toSet());
|
||||
}
|
||||
@JsonIgnore
|
||||
public Set<Long> getApproverOuIds() {
|
||||
if (approvers == null)
|
||||
return Collections.emptySet();
|
||||
return approvers.stream().map(Approver::getOuId).collect(toSet());
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -14,18 +15,18 @@ import java.util.List;
|
||||
@Getter
|
||||
public class EssOrgAndSealInfo {
|
||||
|
||||
/**
|
||||
* 单位信息
|
||||
*/
|
||||
private EssOrgInfo org;
|
||||
/**
|
||||
* 单位信息
|
||||
*/
|
||||
private EssOrgInfo org;
|
||||
|
||||
/**
|
||||
* 印章信息
|
||||
*/
|
||||
private List<EssSealInfo> seals = new ArrayList<>();
|
||||
/**
|
||||
* 印章信息
|
||||
*/
|
||||
private List<EssSealInfo> seals = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -6,32 +7,33 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class EssOrgInfo {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 单位名称
|
||||
*/
|
||||
private String ouName;
|
||||
/**
|
||||
* 单位名称
|
||||
*/
|
||||
private String ouName;
|
||||
|
||||
/**
|
||||
* 单位是否认证
|
||||
*/
|
||||
private boolean isOrgAuthorized;
|
||||
/**
|
||||
* 单位是否认证
|
||||
*/
|
||||
private boolean isOrgAuthorized;
|
||||
|
||||
/**
|
||||
* 超级管理员人员id
|
||||
*/
|
||||
private Long superAdminPersonId;
|
||||
/**
|
||||
* 超级管理员人员id
|
||||
*/
|
||||
private Long superAdminPersonId;
|
||||
|
||||
/**
|
||||
* 单位记录创建人id
|
||||
*/
|
||||
private Long createByPersonId;
|
||||
/**
|
||||
* 单位记录创建人id
|
||||
*/
|
||||
private Long createByPersonId;
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.enums.EssSealType;
|
||||
@ -14,28 +15,28 @@ import java.util.List;
|
||||
@Getter
|
||||
public class EssSealInfo {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 印章在腾讯的id
|
||||
*/
|
||||
private String essSealId;
|
||||
/**
|
||||
* 印章在腾讯的id
|
||||
*/
|
||||
private String essSealId;
|
||||
|
||||
/**
|
||||
* 印章类型. OFFICIAL: 公章, CONTRACT: 合同专用章, FINANCE: 财务专用章, PERSONNEL: 人事专用章, INVOICE: 发票专用章, LEGAL_PERSON_SEAL: 法定代表人章, OTHER: 其它
|
||||
*/
|
||||
private EssSealType type;
|
||||
/**
|
||||
* 印章类型. OFFICIAL: 公章, CONTRACT: 合同专用章, FINANCE: 财务专用章, PERSONNEL: 人事专用章, INVOICE: 发票专用章, LEGAL_PERSON_SEAL: 法定代表人章, OTHER: 其它
|
||||
*/
|
||||
private EssSealType type;
|
||||
|
||||
/**
|
||||
* 授权人员列表
|
||||
*/
|
||||
private List<EssSealPersonInfo> sealPersons = new ArrayList<>();
|
||||
/**
|
||||
* 授权人员列表
|
||||
*/
|
||||
private List<EssSealPersonInfo> sealPersons = new ArrayList<>();
|
||||
|
||||
public void addSealPerson(EssSealPersonInfo person) {
|
||||
sealPersons.add(person);
|
||||
}
|
||||
public void addSealPerson(EssSealPersonInfo person) {
|
||||
sealPersons.add(person);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -6,47 +7,48 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class EssSealPersonInfo {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 印章用户信息
|
||||
*/
|
||||
private PersonProfileInfo sealPerson = new PersonProfileInfo();
|
||||
/**
|
||||
* 印章用户信息
|
||||
*/
|
||||
private PersonProfileInfo sealPerson = new PersonProfileInfo();
|
||||
|
||||
/**
|
||||
* 印章授权人信息
|
||||
*/
|
||||
private PersonProfileInfo authorizedByPerson = new PersonProfileInfo();
|
||||
/**
|
||||
* 印章授权人信息
|
||||
*/
|
||||
private PersonProfileInfo authorizedByPerson = new PersonProfileInfo();
|
||||
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
private String essSealId;
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
private String essSealId;
|
||||
|
||||
/**
|
||||
* 是否已经激活(实名认证)
|
||||
*/
|
||||
private boolean isPersonAuthorized;
|
||||
/**
|
||||
* 是否已经激活(实名认证)
|
||||
*/
|
||||
private boolean isPersonAuthorized;
|
||||
|
||||
/**
|
||||
* 授权时间, unix时间戳
|
||||
*/
|
||||
private Long authorizeTimeMs;
|
||||
/**
|
||||
* 授权时间, unix时间戳
|
||||
*/
|
||||
private Long authorizeTimeMs;
|
||||
|
||||
/**
|
||||
* 是否已经认证(印章授权)
|
||||
*/
|
||||
private boolean isSealAuthorized;
|
||||
/**
|
||||
* 是否已经认证(印章授权)
|
||||
*/
|
||||
private boolean isSealAuthorized;
|
||||
|
||||
/**
|
||||
* 是否是超级管理员
|
||||
*/
|
||||
private boolean isSuperAdmin;
|
||||
/**
|
||||
* 是否是超级管理员
|
||||
*/
|
||||
private boolean isSuperAdmin;
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -12,16 +13,16 @@ import javax.validation.constraints.NotNull;
|
||||
@Getter
|
||||
public class OperatorInfo implements OrgPerson {
|
||||
|
||||
/**
|
||||
* 发起方单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 发起方单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 发起方人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 发起方人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.contract.OrgPersonInfo;
|
||||
@ -9,19 +10,18 @@ import java.util.Objects;
|
||||
*/
|
||||
public interface OrgPerson {
|
||||
|
||||
Long getOuId();
|
||||
Long getOuId();
|
||||
|
||||
Long getPersonId();
|
||||
Long getPersonId();
|
||||
|
||||
default OrgPersonInfo toOrgPersonInfo() {
|
||||
OrgPersonInfo orgPersonInfo = new OrgPersonInfo();
|
||||
orgPersonInfo.setOuId(getOuId());
|
||||
orgPersonInfo.setPersonId(getPersonId());
|
||||
return orgPersonInfo;
|
||||
}
|
||||
default OrgPersonInfo toOrgPersonInfo() {
|
||||
OrgPersonInfo orgPersonInfo = new OrgPersonInfo();
|
||||
orgPersonInfo.setOuId(getOuId());
|
||||
orgPersonInfo.setPersonId(getPersonId());
|
||||
return orgPersonInfo;
|
||||
}
|
||||
|
||||
static boolean equals(OrgPerson a, OrgPerson b) {
|
||||
return Objects.equals(a.getOuId(), b.getOuId())
|
||||
&& Objects.equals(a.getPersonId(), b.getPersonId());
|
||||
}
|
||||
static boolean equals(OrgPerson a, OrgPerson b) {
|
||||
return Objects.equals(a.getOuId(), b.getOuId()) && Objects.equals(a.getPersonId(), b.getPersonId());
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
@ -13,23 +14,19 @@ import java.util.Optional;
|
||||
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class OrgPersons<T extends OrgPerson> {
|
||||
|
||||
private final Collection<T> persons;
|
||||
private final Collection<T> persons;
|
||||
|
||||
public static <T extends OrgPerson> OrgPersons<T> wrap(Collection<T> persons) {
|
||||
return new OrgPersons<>(persons);
|
||||
}
|
||||
public static <T extends OrgPerson> OrgPersons<T> wrap(Collection<T> persons) {
|
||||
return new OrgPersons<>(persons);
|
||||
}
|
||||
|
||||
public Optional<T> findByPerson(OrgPerson person) {
|
||||
return persons.stream()
|
||||
.filter(p -> Objects.equals(p.getOuId(), person.getOuId())
|
||||
&& Objects.equals(p.getPersonId(), person.getPersonId()))
|
||||
.findFirst();
|
||||
}
|
||||
public Optional<T> findByPerson(OrgPerson person) {
|
||||
return persons.stream().filter(p -> Objects.equals(p.getOuId(), person.getOuId())
|
||||
&& Objects.equals(p.getPersonId(), person.getPersonId())).findFirst();
|
||||
}
|
||||
|
||||
public Optional<T> findByOrgId(Long ouId) {
|
||||
return persons.stream()
|
||||
.filter(p -> Objects.equals(p.getOuId(), ouId))
|
||||
.findFirst();
|
||||
}
|
||||
public Optional<T> findByOrgId(Long ouId) {
|
||||
return persons.stream().filter(p -> Objects.equals(p.getOuId(), ouId)).findFirst();
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -6,22 +7,23 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class PersonProfileInfo {
|
||||
|
||||
/**
|
||||
* 自然人id
|
||||
*/
|
||||
private Long personId;
|
||||
/**
|
||||
* 自然人id
|
||||
*/
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String personName;
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String personName;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain.contract;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.OrgPerson;
|
||||
@ -21,70 +22,74 @@ import java.util.List;
|
||||
@Getter
|
||||
public class Approver implements OrgPerson {
|
||||
|
||||
/**
|
||||
* 签署方人员信息, 如果是动态签署人, 则传null, 在获取签署链接时再指定签署人
|
||||
*/
|
||||
@Valid
|
||||
private OrgPersonInfo signPerson;
|
||||
/**
|
||||
* 签署方人员信息, 如果是动态签署人, 则传null, 在获取签署链接时再指定签署人
|
||||
*/
|
||||
@Valid
|
||||
private OrgPersonInfo signPerson;
|
||||
|
||||
/**
|
||||
* 签署选项
|
||||
*/
|
||||
private SignOption signOption = new SignOption();
|
||||
/**
|
||||
* 签署选项
|
||||
*/
|
||||
private SignOption signOption = new SignOption();
|
||||
|
||||
/**
|
||||
* 在指定签署方时,可选择企业B端或个人C端等不同的参与者类型
|
||||
*/
|
||||
@NotNull(message = "approverType不能为空")
|
||||
private EssApproverType approverType = EssApproverType.ORGANIZATION;
|
||||
/**
|
||||
* 在指定签署方时,可选择企业B端或个人C端等不同的参与者类型
|
||||
*/
|
||||
@NotNull(message = "approverType不能为空")
|
||||
private EssApproverType approverType = EssApproverType.ORGANIZATION;
|
||||
|
||||
/**
|
||||
* 签署方在签署合同之前,需要强制阅读合同的时长,可指定为3秒至300秒之间的任意值
|
||||
*/
|
||||
@Range(min = 3, max = 300, message = "preReadTime必须在3-300之间")
|
||||
@NotNull(message = "preReadTime不能为空")
|
||||
private Long preReadTimeSeconds = 5L;
|
||||
/**
|
||||
* 签署方在签署合同之前,需要强制阅读合同的时长,可指定为3秒至300秒之间的任意值
|
||||
*/
|
||||
@Range(min = 3, max = 300, message = "preReadTime必须在3-300之间")
|
||||
@NotNull(message = "preReadTime不能为空")
|
||||
private Long preReadTimeSeconds = 5L;
|
||||
|
||||
/**
|
||||
* 指定盖章时, 使用的章类型
|
||||
*/
|
||||
private List<EssSealType> sealTypes;
|
||||
/**
|
||||
* 指定盖章时, 使用的章类型
|
||||
*/
|
||||
private List<EssSealType> sealTypes;
|
||||
|
||||
/**
|
||||
* 扩展信息, 内部使用
|
||||
*/
|
||||
private JSONObject internal;
|
||||
/**
|
||||
* 扩展信息, 内部使用
|
||||
*/
|
||||
private JSONObject internal;
|
||||
|
||||
public void setEssRecipientId(String essRecipientId) {
|
||||
getOrCreateExtension().put("essRecipientId", essRecipientId);
|
||||
}
|
||||
public void setEssRecipientId(String essRecipientId) {
|
||||
getOrCreateExtension().put("essRecipientId", essRecipientId);
|
||||
}
|
||||
|
||||
@JsonIgnore @JSONField(serialize = false)
|
||||
public String getEssRecipientId() {
|
||||
if (internal == null)
|
||||
return null;
|
||||
return internal.getString("essRecipientId");
|
||||
}
|
||||
@JsonIgnore
|
||||
@JSONField(serialize = false)
|
||||
public String getEssRecipientId() {
|
||||
if (internal == null)
|
||||
return null;
|
||||
return internal.getString("essRecipientId");
|
||||
}
|
||||
|
||||
@JsonIgnore @JSONField(serialize = false)
|
||||
public JSONObject getOrCreateExtension() {
|
||||
if (internal == null)
|
||||
internal = new JSONObject();
|
||||
return internal;
|
||||
}
|
||||
@JsonIgnore
|
||||
@JSONField(serialize = false)
|
||||
public JSONObject getOrCreateExtension() {
|
||||
if (internal == null)
|
||||
internal = new JSONObject();
|
||||
return internal;
|
||||
}
|
||||
|
||||
public boolean isSignPersonPreset() {
|
||||
return signPerson != null;
|
||||
}
|
||||
public boolean isSignPersonPreset() {
|
||||
return signPerson != null;
|
||||
}
|
||||
|
||||
@JsonIgnore @JSONField(serialize = false)
|
||||
public Long getOuId() {
|
||||
return signPerson == null ? 0L : signPerson.getOuId();
|
||||
}
|
||||
@JsonIgnore
|
||||
@JSONField(serialize = false)
|
||||
public Long getOuId() {
|
||||
return signPerson == null ? 0L : signPerson.getOuId();
|
||||
}
|
||||
|
||||
@JsonIgnore @JSONField(serialize = false)
|
||||
public Long getPersonId() {
|
||||
return signPerson == null ? 0L : signPerson.getPersonId();
|
||||
}
|
||||
@JsonIgnore
|
||||
@JSONField(serialize = false)
|
||||
public Long getPersonId() {
|
||||
return signPerson == null ? 0L : signPerson.getPersonId();
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain.contract;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.enums.EssContractApproveState;
|
||||
@ -11,53 +12,53 @@ import lombok.Setter;
|
||||
@Getter
|
||||
public class EssApproveDetail {
|
||||
|
||||
/**
|
||||
* 签署人, 动态签署人在没有签署的时候可能为null
|
||||
*/
|
||||
private OrgPersonInfo signPerson;
|
||||
/**
|
||||
* 签署人, 动态签署人在没有签署的时候可能为null
|
||||
*/
|
||||
private OrgPersonInfo signPerson;
|
||||
|
||||
/**
|
||||
* 签署编号
|
||||
*/
|
||||
private String recipientId;
|
||||
/**
|
||||
* 签署编号
|
||||
*/
|
||||
private String recipientId;
|
||||
|
||||
/**
|
||||
* 签署状态
|
||||
*/
|
||||
private EssContractApproveState state;
|
||||
/**
|
||||
* 签署状态
|
||||
*/
|
||||
private EssContractApproveState state;
|
||||
|
||||
/**
|
||||
* 签署顺序
|
||||
*/
|
||||
private long signOrder;
|
||||
/**
|
||||
* 签署顺序
|
||||
*/
|
||||
private long signOrder;
|
||||
|
||||
/**
|
||||
* 对应签署人签署此合同的时间
|
||||
*/
|
||||
private long approveTimeMs;
|
||||
/**
|
||||
* 对应签署人签署此合同的时间
|
||||
*/
|
||||
private long approveTimeMs;
|
||||
|
||||
/**
|
||||
* 对应签署人状态的简单描述, 如: 已签署或者拒签的原因等
|
||||
*/
|
||||
private String message;
|
||||
/**
|
||||
* 对应签署人状态的简单描述, 如: 已签署或者拒签的原因等
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 对应签署人的签署截止时间
|
||||
*/
|
||||
private long approverDeadlineMs;
|
||||
/**
|
||||
* 对应签署人的签署截止时间
|
||||
*/
|
||||
private long approverDeadlineMs;
|
||||
|
||||
/**
|
||||
* 单位id, 动态签署人在没有签署的时候可能为空
|
||||
*/
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id, 动态签署人在没有签署的时候可能为空
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 单位名称, 动态签署人在没有签署的时候可能为空
|
||||
*/
|
||||
private String ouName;
|
||||
/**
|
||||
* 单位名称, 动态签署人在没有签署的时候可能为空
|
||||
*/
|
||||
private String ouName;
|
||||
|
||||
/**
|
||||
* 对应签署人的手机号, 动态签署人在没有签署的时候可能为空
|
||||
*/
|
||||
private String phoneNumber;
|
||||
/**
|
||||
* 对应签署人的手机号, 动态签署人在没有签署的时候可能为空
|
||||
*/
|
||||
private String phoneNumber;
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain.contract;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.enums.EssContractState;
|
||||
@ -13,60 +14,60 @@ import java.util.List;
|
||||
@Getter
|
||||
public class EssContractInfo {
|
||||
|
||||
/**
|
||||
* 发起合同的应用或业务场景
|
||||
*/
|
||||
private String appCode;
|
||||
/**
|
||||
* 发起合同的应用或业务场景
|
||||
*/
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 业务编码
|
||||
*/
|
||||
private String bizCode;
|
||||
/**
|
||||
* 业务编码
|
||||
*/
|
||||
private String bizCode;
|
||||
|
||||
/**
|
||||
* 幂等编码
|
||||
*/
|
||||
private String idempotentCode;
|
||||
/**
|
||||
* 幂等编码
|
||||
*/
|
||||
private String idempotentCode;
|
||||
|
||||
/**
|
||||
* 合同发起方单位id
|
||||
*/
|
||||
private Long creatorOuId;
|
||||
/**
|
||||
* 合同发起方单位id
|
||||
*/
|
||||
private Long creatorOuId;
|
||||
|
||||
/**
|
||||
* 合同发起方人员id
|
||||
*/
|
||||
private Long creatorPersonId;
|
||||
/**
|
||||
* 合同发起方人员id
|
||||
*/
|
||||
private Long creatorPersonId;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 电子签那边的合同id
|
||||
*/
|
||||
private String essContractId;
|
||||
/**
|
||||
* 电子签那边的合同id
|
||||
*/
|
||||
private String essContractId;
|
||||
|
||||
/**
|
||||
* 合同状态. INIT: 合同创建, PART: 合同签署中, ALL: 合同签署完成, REJECT: 合同拒签, CANCEL: 合同撤回, WILLEXPIRE: 合同即将过期, DEADLINE: 合同流签(合同过期), RELIEVED: 解除协议(已解除), INVALID: 合同已失效, EXCEPTION: 合同异常
|
||||
*/
|
||||
private EssContractState state;
|
||||
/**
|
||||
* 合同状态. INIT: 合同创建, PART: 合同签署中, ALL: 合同签署完成, REJECT: 合同拒签, CANCEL: 合同撤回, WILLEXPIRE: 合同即将过期, DEADLINE: 合同流签(合同过期), RELIEVED: 解除协议(已解除), INVALID: 合同已失效, EXCEPTION: 合同异常
|
||||
*/
|
||||
private EssContractState state;
|
||||
|
||||
/**
|
||||
* 合并签署方信息, 如果是动态签署, 里面的签署人信息可能为nul
|
||||
*/
|
||||
private List<Approver> approvers;
|
||||
/**
|
||||
* 合并签署方信息, 如果是动态签署, 里面的签署人信息可能为nul
|
||||
*/
|
||||
private List<Approver> approvers;
|
||||
|
||||
/**
|
||||
* 合同的签署方的签署情况
|
||||
* <p/>
|
||||
* 每次腾讯的回调都是给的全量签署情况数据, 如果业务依赖签署情况推荐业务状态, 需要自行做幂等处理
|
||||
*/
|
||||
private List<EssApproveDetail> approveDetails;
|
||||
/**
|
||||
* 合同的签署方的签署情况
|
||||
* <p/>
|
||||
* 每次腾讯的回调都是给的全量签署情况数据, 如果业务依赖签署情况推荐业务状态, 需要自行做幂等处理
|
||||
*/
|
||||
private List<EssApproveDetail> approveDetails;
|
||||
|
||||
/**
|
||||
* 腾讯电子签那边的消息
|
||||
*/
|
||||
private String essMessage;
|
||||
/**
|
||||
* 腾讯电子签那边的消息
|
||||
*/
|
||||
private String essMessage;
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain.contract;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.OrgPerson;
|
||||
@ -9,19 +10,20 @@ import javax.validation.constraints.NotNull;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
public class OrgPersonInfo implements OrgPerson {
|
||||
@Setter
|
||||
@Getter
|
||||
public class OrgPersonInfo implements OrgPerson {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.domain.contract;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -8,17 +9,18 @@ import lombok.Setter;
|
||||
*
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class SignOption {
|
||||
|
||||
/**
|
||||
* 是否可以拒签. false-可以拒签, true-不可以拒签
|
||||
*/
|
||||
private boolean noRefuse = true;
|
||||
/**
|
||||
* 是否可以拒签. false-可以拒签, true-不可以拒签
|
||||
*/
|
||||
private boolean noRefuse = true;
|
||||
|
||||
/**
|
||||
* 是否可以转发. false-可以转发 true-不可以转发
|
||||
*/
|
||||
private boolean noTransfer = true;
|
||||
/**
|
||||
* 是否可以转发. false-可以转发 true-不可以转发
|
||||
*/
|
||||
private boolean noTransfer = true;
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
/**
|
||||
@ -5,7 +6,7 @@ package cn.axzo.nanopart.ess.api.enums;
|
||||
*/
|
||||
public enum Constraint {
|
||||
|
||||
// 一个子客只允许一个用户盖章
|
||||
ONE_PERSON_PER_ORG
|
||||
// 一个子客只允许一个用户盖章
|
||||
ONE_PERSON_PER_ORG
|
||||
|
||||
}
|
||||
@ -1,11 +1,12 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum EssApproverType {
|
||||
// 企业/ 企业员工
|
||||
ORGANIZATION,
|
||||
// 企业/ 企业员工自动签
|
||||
ENTERPRISESERVER
|
||||
// 企业/ 企业员工
|
||||
ORGANIZATION,
|
||||
// 企业/ 企业员工自动签
|
||||
ENTERPRISESERVER
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -10,17 +11,17 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor
|
||||
public enum EssConsoleUrlEndpoint {
|
||||
|
||||
PC("PC", "(默认)web控制台链接, 需要在PC浏览器中打开"),
|
||||
CHANNEL("CHANNEL", "H5跳转到电子签小程序链接, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序"),
|
||||
SHORT_URL("SHORT_URL", "H5跳转到电子签小程序链接的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序"),
|
||||
WEIXIN_QRCODE_URL("WEIXIN_QRCODE_URL", "直接跳转至电子签小程序的二维码链接,无需通过中转页。您需要自行将其转换为二维码,使用微信扫码后可直接进入。请注意,直接点击链接是无效的。"),
|
||||
APP("APP", "APP或小程序跳转电子签小程序链接, 一般用于贵方小程序或者APP跳转过来, 打开后进入腾讯电子签小程序"),
|
||||
H5("H5", "H5长链接跳转H5链接, 一般用于贵方H5跳转过来, 打开后进入腾讯电子签H5页面"),
|
||||
SHORT_H5("SHORT_H5", "H5短链跳转H5的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签H5页面")
|
||||
PC("PC", "(默认)web控制台链接, 需要在PC浏览器中打开"),
|
||||
CHANNEL("CHANNEL", "H5跳转到电子签小程序链接, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序"),
|
||||
SHORT_URL("SHORT_URL", "H5跳转到电子签小程序链接的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序"),
|
||||
WEIXIN_QRCODE_URL("WEIXIN_QRCODE_URL", "直接跳转至电子签小程序的二维码链接,无需通过中转页。您需要自行将其转换为二维码,使用微信扫码后可直接进入。请注意,直接点击链接是无效的。"),
|
||||
APP("APP", "APP或小程序跳转电子签小程序链接, 一般用于贵方小程序或者APP跳转过来, 打开后进入腾讯电子签小程序"),
|
||||
H5("H5", "H5长链接跳转H5链接, 一般用于贵方H5跳转过来, 打开后进入腾讯电子签H5页面"),
|
||||
SHORT_H5("SHORT_H5", "H5短链跳转H5的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签H5页面")
|
||||
|
||||
;
|
||||
;
|
||||
|
||||
private final String code;
|
||||
private final String description;
|
||||
private final String code;
|
||||
private final String description;
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
@ -11,29 +12,28 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public enum EssContractApproveState {
|
||||
|
||||
PENDING("待签署"),
|
||||
ACCEPT("已签署"),
|
||||
REJECT("拒绝"),
|
||||
DEADLINE("过期没人处理"),
|
||||
CANCEL("流程已撤回"),
|
||||
STOP("流程已终止"),
|
||||
WAITPICKUP("待领取"),
|
||||
FILLPENDING("待填写"),
|
||||
FILLACCEPT("填写完成"),
|
||||
FORWARD("已转他人处理"),
|
||||
RELIEVED("解除协议(已解除)"),
|
||||
FILLREJECT("拒绝填写"),
|
||||
EXCEPTION("异常")
|
||||
;
|
||||
PENDING("待签署"),
|
||||
ACCEPT("已签署"),
|
||||
REJECT("拒绝"),
|
||||
DEADLINE("过期没人处理"),
|
||||
CANCEL("流程已撤回"),
|
||||
STOP("流程已终止"),
|
||||
WAITPICKUP("待领取"),
|
||||
FILLPENDING("待填写"),
|
||||
FILLACCEPT("填写完成"),
|
||||
FORWARD("已转他人处理"),
|
||||
RELIEVED("解除协议(已解除)"),
|
||||
FILLREJECT("拒绝填写"),
|
||||
EXCEPTION("异常");
|
||||
|
||||
private final String description;
|
||||
private final String description;
|
||||
|
||||
public static EssContractApproveState fromEssCode(String code) {
|
||||
for (EssContractApproveState value : values()) {
|
||||
if (value.name().equalsIgnoreCase(code)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static EssContractApproveState fromEssCode(String code) {
|
||||
for (EssContractApproveState value : values()) {
|
||||
if (value.name().equalsIgnoreCase(code)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
@ -11,29 +12,29 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public enum EssContractState {
|
||||
|
||||
INIT("合同创建", false),
|
||||
PART("合同签署中", false),
|
||||
ALL("合同签署完成", true),
|
||||
REJECT("合同拒签", true),
|
||||
CANCEL("合同撤回", true),
|
||||
WILLEXPIRE("合同即将过期", false),
|
||||
DEADLINE("合同流签(合同过期)", true),
|
||||
RELIEVED("解除协议(已解除)", true),
|
||||
INVALID("合同失效", true),
|
||||
EXCEPTION("合同异常", true),
|
||||
INIT("合同创建", false),
|
||||
PART("合同签署中", false),
|
||||
ALL("合同签署完成", true),
|
||||
REJECT("合同拒签", true),
|
||||
CANCEL("合同撤回", true),
|
||||
WILLEXPIRE("合同即将过期", false),
|
||||
DEADLINE("合同流签(合同过期)", true),
|
||||
RELIEVED("解除协议(已解除)", true),
|
||||
INVALID("合同失效", true),
|
||||
EXCEPTION("合同异常", true),
|
||||
|
||||
;
|
||||
;
|
||||
|
||||
private final String description;
|
||||
private final boolean finalState;
|
||||
private final String description;
|
||||
private final boolean finalState;
|
||||
|
||||
public static EssContractState fromEssCode(String code) {
|
||||
for (EssContractState value : values()) {
|
||||
if (value.name().equalsIgnoreCase(code)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static EssContractState fromEssCode(String code) {
|
||||
for (EssContractState value : values()) {
|
||||
if (value.name().equalsIgnoreCase(code)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -10,23 +11,23 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor
|
||||
public enum EssEmbedType {
|
||||
|
||||
// 生成创建印章的嵌入页面
|
||||
CREATE_SEAL(false, "CREATE_SEAL", EssContext.SEAL),
|
||||
// 生成预览印章列表的嵌入页面
|
||||
PREVIEW_SEAL_LIST(false, "PREVIEW_SEAL_LIST", EssContext.SEAL),
|
||||
// 生成预览印章详情的嵌入页面
|
||||
PREVIEW_SEAL_DETAIL(true, "PREVIEW_SEAL_DETAIL", EssContext.SEAL),
|
||||
// 生成预览合同文档的嵌入页面(H5链接,支持移动端的浏览器中打开)
|
||||
PREVIEW_CONTRACT(true, "PREVIEW_FLOW", EssContext.CONTRACT),
|
||||
// 生成预览合同详情的嵌入页面(仅支持PC的浏览器中打开)
|
||||
PREVIEW_CONTRACT_DETAIL(true, "PREVIEW_FLOW_DETAIL", EssContext.CONTRACT);
|
||||
// 生成创建印章的嵌入页面
|
||||
CREATE_SEAL(false, "CREATE_SEAL", EssContext.SEAL),
|
||||
// 生成预览印章列表的嵌入页面
|
||||
PREVIEW_SEAL_LIST(false, "PREVIEW_SEAL_LIST", EssContext.SEAL),
|
||||
// 生成预览印章详情的嵌入页面
|
||||
PREVIEW_SEAL_DETAIL(true, "PREVIEW_SEAL_DETAIL", EssContext.SEAL),
|
||||
// 生成预览合同文档的嵌入页面(H5链接,支持移动端的浏览器中打开)
|
||||
PREVIEW_CONTRACT(true, "PREVIEW_FLOW", EssContext.CONTRACT),
|
||||
// 生成预览合同详情的嵌入页面(仅支持PC的浏览器中打开)
|
||||
PREVIEW_CONTRACT_DETAIL(true, "PREVIEW_FLOW_DETAIL", EssContext.CONTRACT);
|
||||
|
||||
private final boolean businessIdRequired;
|
||||
private final String essCode;
|
||||
private final EssContext essContext;
|
||||
private final boolean businessIdRequired;
|
||||
private final String essCode;
|
||||
private final EssContext essContext;
|
||||
|
||||
public enum EssContext {
|
||||
SEAL, CONTRACT
|
||||
}
|
||||
public enum EssContext {
|
||||
SEAL, CONTRACT
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
@ -8,10 +9,10 @@ import lombok.RequiredArgsConstructor;
|
||||
*/
|
||||
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public enum EssPersonState {
|
||||
// 创建
|
||||
CREATED,
|
||||
// 认证
|
||||
AUTHORIZED,
|
||||
// 离职
|
||||
RESIGNED
|
||||
// 创建
|
||||
CREATED,
|
||||
// 认证
|
||||
AUTHORIZED,
|
||||
// 离职
|
||||
RESIGNED
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -9,13 +10,12 @@ import lombok.RequiredArgsConstructor;
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum EssSealState {
|
||||
// 创建
|
||||
CREATE,
|
||||
// 删除
|
||||
DELETED,
|
||||
// 停用
|
||||
DISABLED,
|
||||
// 启用
|
||||
ENABLED
|
||||
;
|
||||
// 创建
|
||||
CREATE,
|
||||
// 删除
|
||||
DELETED,
|
||||
// 停用
|
||||
DISABLED,
|
||||
// 启用
|
||||
ENABLED;
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -11,34 +12,34 @@ import java.util.List;
|
||||
@Getter
|
||||
public enum EssSealType {
|
||||
|
||||
OFFICIAL("公章", "OFFICIAL"),
|
||||
CONTRACT("合同专用章", "CONTRACT"),
|
||||
FINANCE("财务专用章", "FINANCE"),
|
||||
PERSONNEL("人事专用章", "PERSONNEL"),
|
||||
INVOICE("发票专用章", "INVOICE"),
|
||||
LEGAL_PERSON_SEAL("法定代表人章", "LEGAL_PERSON_SEAL"),
|
||||
OTHER("其他", "EMPLOYEE_QUALIFICATION_SEAL");
|
||||
OFFICIAL("公章", "OFFICIAL"),
|
||||
CONTRACT("合同专用章", "CONTRACT"),
|
||||
FINANCE("财务专用章", "FINANCE"),
|
||||
PERSONNEL("人事专用章", "PERSONNEL"),
|
||||
INVOICE("发票专用章", "INVOICE"),
|
||||
LEGAL_PERSON_SEAL("法定代表人章", "LEGAL_PERSON_SEAL"),
|
||||
OTHER("其他", "EMPLOYEE_QUALIFICATION_SEAL");
|
||||
|
||||
private final String description;
|
||||
private final String[] essCodes;
|
||||
private final String description;
|
||||
private final String[] essCodes;
|
||||
|
||||
EssSealType(String description, String... essCodes) {
|
||||
this.description = description;
|
||||
this.essCodes = essCodes;
|
||||
}
|
||||
EssSealType(String description, String... essCodes) {
|
||||
this.description = description;
|
||||
this.essCodes = essCodes;
|
||||
}
|
||||
|
||||
public List<String> getEssCodes() {
|
||||
return Arrays.asList(essCodes);
|
||||
}
|
||||
public List<String> getEssCodes() {
|
||||
return Arrays.asList(essCodes);
|
||||
}
|
||||
|
||||
public static EssSealType fromEssCode(String essCode) {
|
||||
for (EssSealType value : values()) {
|
||||
for (String code : value.essCodes) {
|
||||
if (code.equals(essCode)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return OTHER;
|
||||
}
|
||||
public static EssSealType fromEssCode(String essCode) {
|
||||
for (EssSealType value : values()) {
|
||||
for (String code : value.essCodes) {
|
||||
if (code.equals(essCode)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return OTHER;
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
import cn.axzo.framework.rocketmq.Event;
|
||||
@ -13,26 +14,23 @@ import java.util.Arrays;
|
||||
@Getter
|
||||
public enum MQEvent {
|
||||
|
||||
ESS_CONTRACT_STATE_CHANGE("nanopart", "ess-contract-state-change", "腾讯电子签合同状态变化"),
|
||||
ESS_CONTRACT_DOWNLOAD_PDF("nanopart", "ess-contract-download-pdf", "腾讯电子签合同下载PDF"),
|
||||
ESS_CONTRACT_STATE_CHANGE("nanopart", "ess-contract-state-change", "腾讯电子签合同状态变化"),
|
||||
ESS_CONTRACT_DOWNLOAD_PDF("nanopart", "ess-contract-download-pdf", "腾讯电子签合同下载PDF"),
|
||||
|
||||
;
|
||||
private final String model;
|
||||
private final String tag;
|
||||
private final String desc;
|
||||
private final Event.EventCode eventCode;
|
||||
;
|
||||
private final String model;
|
||||
private final String tag;
|
||||
private final String desc;
|
||||
private final Event.EventCode eventCode;
|
||||
|
||||
MQEvent(String model, String tag, String desc) {
|
||||
this.eventCode = Event.EventCode.builder()
|
||||
.module(model)
|
||||
.name(tag)
|
||||
.build();
|
||||
this.model = model;
|
||||
this.tag = tag;
|
||||
this.desc = desc;
|
||||
}
|
||||
MQEvent(String model, String tag, String desc) {
|
||||
this.eventCode = Event.EventCode.builder().module(model).name(tag).build();
|
||||
this.model = model;
|
||||
this.tag = tag;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public static MQEvent getByName(String name){
|
||||
return Arrays.stream(MQEvent.values()).filter(item -> item.name().equals(name)).findFirst().orElse(null);
|
||||
}
|
||||
public static MQEvent getByName(String name) {
|
||||
return Arrays.stream(MQEvent.values()).filter(item -> item.name().equals(name)).findFirst().orElse(null);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum SignUrlEndpoint {
|
||||
PC, WEIXIN_APP
|
||||
PC, WEIXIN_APP
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.mq;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.contract.EssContractInfo;
|
||||
@ -11,14 +12,14 @@ import lombok.Setter;
|
||||
@Getter
|
||||
public class EssContractDownloadPDFEvent extends MqMessage {
|
||||
|
||||
/**
|
||||
* 合同信息
|
||||
*/
|
||||
private EssContractInfo contract;
|
||||
/**
|
||||
* 合同信息
|
||||
*/
|
||||
private EssContractInfo contract;
|
||||
|
||||
/**
|
||||
* 是否重复下载
|
||||
*/
|
||||
private boolean retryDownload;
|
||||
/**
|
||||
* 是否重复下载
|
||||
*/
|
||||
private boolean retryDownload;
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.mq;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.contract.EssContractInfo;
|
||||
@ -11,9 +12,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
public class EssContractStateChangeMessage extends MqMessage {
|
||||
|
||||
/**
|
||||
* 合同信息, 处理签署详情时需要做幂等
|
||||
*/
|
||||
private EssContractInfo contract;
|
||||
/**
|
||||
* 合同信息, 处理签署详情时需要做幂等
|
||||
*/
|
||||
private EssContractInfo contract;
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.mq;
|
||||
|
||||
import cn.hutool.core.lang.UUID;
|
||||
@ -15,19 +16,19 @@ import java.util.Date;
|
||||
@Getter
|
||||
public abstract class MqMessage implements Serializable {
|
||||
|
||||
/**
|
||||
* 消息唯一id
|
||||
*/
|
||||
private String messageId = UUID.randomUUID().toString();
|
||||
/**
|
||||
* 消息唯一id
|
||||
*/
|
||||
private String messageId = UUID.randomUUID().toString();
|
||||
|
||||
/**
|
||||
* 消息发送时间
|
||||
*/
|
||||
private Date messageSendTime = new Date();
|
||||
/**
|
||||
* 消息发送时间
|
||||
*/
|
||||
private Date messageSendTime = new Date();
|
||||
|
||||
/**
|
||||
* 消息发送时间, 字符串格式
|
||||
*/
|
||||
private String messageSendTimeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(messageSendTime);
|
||||
/**
|
||||
* 消息发送时间, 字符串格式
|
||||
*/
|
||||
private String messageSendTimeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(messageSendTime);
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -10,29 +11,30 @@ import javax.validation.constraints.NotNull;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class AddSealAuthorizationRequest implements SealAndPersonRequest {
|
||||
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 前端忽略
|
||||
*/
|
||||
@NotNull(message = "operatorPersonId不能为空")
|
||||
private Long operatorPersonId;
|
||||
/**
|
||||
* 前端忽略
|
||||
*/
|
||||
@NotNull(message = "operatorPersonId不能为空")
|
||||
private Long operatorPersonId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -10,23 +11,24 @@ import javax.validation.constraints.NotNull;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class AddSealPersonRequest {
|
||||
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
|
||||
/**
|
||||
* 人员id列表
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id列表
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -10,10 +11,10 @@ import lombok.Setter;
|
||||
@Setter
|
||||
@Getter
|
||||
public class CallbackContent {
|
||||
private String encrypt;
|
||||
private String encrypt;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -13,195 +14,202 @@ import java.util.List;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class CallbackRequest {
|
||||
|
||||
@JsonProperty(value = "MsgId")
|
||||
@JSONField(name = "MsgId")
|
||||
private String MsgId;
|
||||
@JsonProperty(value = "MsgType")
|
||||
@JSONField(name = "MsgType")
|
||||
private String MsgType;
|
||||
@JsonProperty(value = "MsgVersion")
|
||||
@JSONField(name = "MsgVersion")
|
||||
private String MsgVersion;
|
||||
@JsonProperty(value = "MsgData")
|
||||
@JSONField(name = "MsgData")
|
||||
private JSONObject MsgData;
|
||||
@JsonProperty(value = "MsgId")
|
||||
@JSONField(name = "MsgId")
|
||||
private String MsgId;
|
||||
@JsonProperty(value = "MsgType")
|
||||
@JSONField(name = "MsgType")
|
||||
private String MsgType;
|
||||
@JsonProperty(value = "MsgVersion")
|
||||
@JSONField(name = "MsgVersion")
|
||||
private String MsgVersion;
|
||||
@JsonProperty(value = "MsgData")
|
||||
@JSONField(name = "MsgData")
|
||||
private JSONObject MsgData;
|
||||
|
||||
public <T> T readMsgData(Class<T> clazz) {
|
||||
return MsgData.toJavaObject(clazz);
|
||||
}
|
||||
public <T> T readMsgData(Class<T> clazz) {
|
||||
return MsgData.toJavaObject(clazz);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
|
||||
@Setter @Getter
|
||||
public static class OrgAuthorizationFinish {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识,定义Agent中的ProxyOrganizationOpenId一样
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 开通服务的第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 子企业的ProxyAppId, 现在还没有地方使用此ProxyAppId, 可忽略
|
||||
private String ProxyAppId;
|
||||
// 是否开通, true表示开通, false表示未开通
|
||||
private boolean OpenSuccess;
|
||||
// 子企业的企业名字
|
||||
private String OrganizationName;
|
||||
// 子企业的企业社会统一信用代码
|
||||
private String USCC;
|
||||
// 子企业的法人的姓名
|
||||
private String LegalName;
|
||||
// 子企业的法人的OpenId
|
||||
private String LegalOpenId;
|
||||
// 子企业超管的姓名
|
||||
private String AdminName;
|
||||
// 子企业超管的手机号(打码)
|
||||
private String AdminMobile;
|
||||
}
|
||||
@Setter
|
||||
@Getter
|
||||
public static class OrgAuthorizationFinish {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识,定义Agent中的ProxyOrganizationOpenId一样
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 开通服务的第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 子企业的ProxyAppId, 现在还没有地方使用此ProxyAppId, 可忽略
|
||||
private String ProxyAppId;
|
||||
// 是否开通, true表示开通, false表示未开通
|
||||
private boolean OpenSuccess;
|
||||
// 子企业的企业名字
|
||||
private String OrganizationName;
|
||||
// 子企业的企业社会统一信用代码
|
||||
private String USCC;
|
||||
// 子企业的法人的姓名
|
||||
private String LegalName;
|
||||
// 子企业的法人的OpenId
|
||||
private String LegalOpenId;
|
||||
// 子企业超管的姓名
|
||||
private String AdminName;
|
||||
// 子企业超管的手机号(打码)
|
||||
private String AdminMobile;
|
||||
}
|
||||
|
||||
@Setter @Getter
|
||||
public static class OrgPersonJoin {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识,定义Agent中的ProxyOrganizationOpenId一样, 可以参考Agent结构体
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 加入企业的第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 员工姓名
|
||||
private String EmployeeName;
|
||||
// 员工手机号(打码)
|
||||
private String EmployeeMobile;
|
||||
}
|
||||
@Setter
|
||||
@Getter
|
||||
public static class OrgPersonJoin {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识,定义Agent中的ProxyOrganizationOpenId一样, 可以参考Agent结构体
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 加入企业的第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 员工姓名
|
||||
private String EmployeeName;
|
||||
// 员工手机号(打码)
|
||||
private String EmployeeMobile;
|
||||
}
|
||||
|
||||
@Setter @Getter
|
||||
public static class SealOperate {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 执行对应印章动作的第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
/**
|
||||
* 1. 如果印章授权给员工的行为, 此处为被授权员工的OpenId
|
||||
* 2. 如果是取消某员工的印章授权, 此处为被取消授权员工的OpenId
|
||||
* 3. 其他印章行为没有此字段
|
||||
*/
|
||||
private String AuthorizedOperatorOpenId;
|
||||
// 对应的印章ID,为32位字符串
|
||||
private String SealId;
|
||||
/**
|
||||
* 对应的印章类型, 类型的值包括:
|
||||
* OFFICIAL:企业公章
|
||||
* CONTRACT:企业合同专用章
|
||||
* ORGANIZATION_SEAL:客户本地上传的企业印章
|
||||
* LEGAL_PERSON_SEAL:客户本地上传的法人印章
|
||||
* FINANCE:财务专用章
|
||||
* PERSONNEL:人事专用章
|
||||
*/
|
||||
private String SealType;
|
||||
/**
|
||||
* 印章创建 Create
|
||||
* 印章删除 Delete
|
||||
* 印章停用 Disable
|
||||
* 印章启用 Enable
|
||||
* 印章授权给某些员工 Valid
|
||||
* 取消某些员工的印章授权 Invalid
|
||||
*/
|
||||
private String Operate;
|
||||
/**
|
||||
* 1. 如果印章启用或者停用行为, 是此印章权限的员工们的OpenId
|
||||
* 2. 其他印章行为没有此字段
|
||||
*/
|
||||
private JSONArray AuthorizedUsers;
|
||||
}
|
||||
@Setter
|
||||
@Getter
|
||||
public static class SealOperate {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 执行对应印章动作的第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
/**
|
||||
* 1. 如果印章授权给员工的行为, 此处为被授权员工的OpenId
|
||||
* 2. 如果是取消某员工的印章授权, 此处为被取消授权员工的OpenId
|
||||
* 3. 其他印章行为没有此字段
|
||||
*/
|
||||
private String AuthorizedOperatorOpenId;
|
||||
// 对应的印章ID,为32位字符串
|
||||
private String SealId;
|
||||
/**
|
||||
* 对应的印章类型, 类型的值包括:
|
||||
* OFFICIAL:企业公章
|
||||
* CONTRACT:企业合同专用章
|
||||
* ORGANIZATION_SEAL:客户本地上传的企业印章
|
||||
* LEGAL_PERSON_SEAL:客户本地上传的法人印章
|
||||
* FINANCE:财务专用章
|
||||
* PERSONNEL:人事专用章
|
||||
*/
|
||||
private String SealType;
|
||||
/**
|
||||
* 印章创建 Create
|
||||
* 印章删除 Delete
|
||||
* 印章停用 Disable
|
||||
* 印章启用 Enable
|
||||
* 印章授权给某些员工 Valid
|
||||
* 取消某些员工的印章授权 Invalid
|
||||
*/
|
||||
private String Operate;
|
||||
/**
|
||||
* 1. 如果印章启用或者停用行为, 是此印章权限的员工们的OpenId
|
||||
* 2. 其他印章行为没有此字段
|
||||
*/
|
||||
private JSONArray AuthorizedUsers;
|
||||
}
|
||||
|
||||
@Setter @Getter
|
||||
public static class ContractStateChanged {
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 用PDF文件创建签署流程和用模板创建签署流程创建签署流程时候传递的CustomerData参数
|
||||
private String CustomerData;
|
||||
// 触发回调的合同流程ID,为32位字符串
|
||||
private String FlowId;
|
||||
// 触发回调的合同流程的名称
|
||||
private String FlowName;
|
||||
// 触发回调的合同流程的类别分类
|
||||
private String FlowType;
|
||||
// 合同状态,具体含义可以参考上述其他说明中的 会出现回调的合同状态
|
||||
private String FlowStatus;
|
||||
// 当合同流程状态为合同拒签, 合同撤回等状态时,此字段为拒签或撤销原因,其他状态时此字段为空值
|
||||
private String FlowMessage;
|
||||
// 合同流程的创建时间戳,格式为Unix标准时间戳(秒)
|
||||
private Integer CreateOn;
|
||||
// 签署流程的签署截止时间,格式为Unix标准时间戳(秒)
|
||||
private Integer Deadline;
|
||||
// 合同(流程)关注方信息列表, 结构体定义可以查看开发者中的CcInfo
|
||||
private JSONArray CcInfo;
|
||||
// 合同(流程)签署人信息列表, 结构体的定义可以参考下面的FlowApproverDetail
|
||||
private List<FlowApproverDetail> FlowApproverInfo;
|
||||
// 如果合同归属合同组, 此结构体为合同组的信息, 结构体的定义可以参考下面的FlowGroupMessageDetail
|
||||
private JSONObject FlowGroupMessage;
|
||||
// 此回调触发的时间,格式为Unix标准时间戳(秒)
|
||||
private Integer OccurTime;
|
||||
}
|
||||
@Setter
|
||||
@Getter
|
||||
public static class ContractStateChanged {
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 第三方平台子客企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 用PDF文件创建签署流程和用模板创建签署流程创建签署流程时候传递的CustomerData参数
|
||||
private String CustomerData;
|
||||
// 触发回调的合同流程ID,为32位字符串
|
||||
private String FlowId;
|
||||
// 触发回调的合同流程的名称
|
||||
private String FlowName;
|
||||
// 触发回调的合同流程的类别分类
|
||||
private String FlowType;
|
||||
// 合同状态,具体含义可以参考上述其他说明中的 会出现回调的合同状态
|
||||
private String FlowStatus;
|
||||
// 当合同流程状态为合同拒签, 合同撤回等状态时,此字段为拒签或撤销原因,其他状态时此字段为空值
|
||||
private String FlowMessage;
|
||||
// 合同流程的创建时间戳,格式为Unix标准时间戳(秒)
|
||||
private Integer CreateOn;
|
||||
// 签署流程的签署截止时间,格式为Unix标准时间戳(秒)
|
||||
private Integer Deadline;
|
||||
// 合同(流程)关注方信息列表, 结构体定义可以查看开发者中的CcInfo
|
||||
private JSONArray CcInfo;
|
||||
// 合同(流程)签署人信息列表, 结构体的定义可以参考下面的FlowApproverDetail
|
||||
private List<FlowApproverDetail> FlowApproverInfo;
|
||||
// 如果合同归属合同组, 此结构体为合同组的信息, 结构体的定义可以参考下面的FlowGroupMessageDetail
|
||||
private JSONObject FlowGroupMessage;
|
||||
// 此回调触发的时间,格式为Unix标准时间戳(秒)
|
||||
private Integer OccurTime;
|
||||
}
|
||||
|
||||
@Setter @Getter
|
||||
public static class FlowApproverDetail {
|
||||
// 如果第三方子企业员工签署, 此字段为第三方子企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 如果第三方子企业员工签署, 此字段为第三方子企业的名称
|
||||
private String ProxyOrganizationName;
|
||||
// 如果saas企业员工签署, 此字段为saas企业的名称
|
||||
private String OrganizationName;
|
||||
// 如果第三方子企业员工签署, 此字段为第三方子企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 对应签署人的手机号
|
||||
private String PhoneNumber;
|
||||
// 如果合同是顺序签署, SignOrder对应签署人的签署顺序
|
||||
private long SignOrder;
|
||||
// 对应签署人的参与角色ID
|
||||
private String RecipientId;
|
||||
// 对应签署人的名字
|
||||
private String ApproveName;
|
||||
// 对应签署人的状态, 具体含义可以参考上述其他说明中的 签署人状态
|
||||
private String ApproveStatus;
|
||||
// 对应签署人状态的简单描述, 如: 已签署或者拒签的原因等
|
||||
private String ApproveMessage;
|
||||
// 对应签署人签署此合同的时间,格式为Unix标准时间戳(秒)
|
||||
private long ApproveTime;
|
||||
// 对应签署人签署此合同的证书信息, 此功能为白名单功能, 使用前请联系对接的客户经理沟通
|
||||
private String CaSign;
|
||||
// 对应签署人的签署截止时间,格式为Unix标准时间戳(秒)
|
||||
private long ApproverDeadline;
|
||||
}
|
||||
@Setter
|
||||
@Getter
|
||||
public static class FlowApproverDetail {
|
||||
// 如果第三方子企业员工签署, 此字段为第三方子企业员工的唯一标识
|
||||
private String ProxyOperatorOpenId;
|
||||
// 如果第三方子企业员工签署, 此字段为第三方子企业的名称
|
||||
private String ProxyOrganizationName;
|
||||
// 如果saas企业员工签署, 此字段为saas企业的名称
|
||||
private String OrganizationName;
|
||||
// 如果第三方子企业员工签署, 此字段为第三方子企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 对应签署人的手机号
|
||||
private String PhoneNumber;
|
||||
// 如果合同是顺序签署, SignOrder对应签署人的签署顺序
|
||||
private long SignOrder;
|
||||
// 对应签署人的参与角色ID
|
||||
private String RecipientId;
|
||||
// 对应签署人的名字
|
||||
private String ApproveName;
|
||||
// 对应签署人的状态, 具体含义可以参考上述其他说明中的 签署人状态
|
||||
private String ApproveStatus;
|
||||
// 对应签署人状态的简单描述, 如: 已签署或者拒签的原因等
|
||||
private String ApproveMessage;
|
||||
// 对应签署人签署此合同的时间,格式为Unix标准时间戳(秒)
|
||||
private long ApproveTime;
|
||||
// 对应签署人签署此合同的证书信息, 此功能为白名单功能, 使用前请联系对接的客户经理沟通
|
||||
private String CaSign;
|
||||
// 对应签署人的签署截止时间,格式为Unix标准时间戳(秒)
|
||||
private long ApproverDeadline;
|
||||
}
|
||||
|
||||
@Setter @Getter
|
||||
public static class SuperAdminChanged {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 新的超管的企业的第三方平台子客企业员工的唯一标识
|
||||
private String ChangeToUserOpenId;
|
||||
// 新的超管的名字
|
||||
private String ChangeToUserName;
|
||||
// 新的超管的手机号
|
||||
private String ChangeToUserMobile;
|
||||
// 老的超管的企业的第三方平台子客企业员工的唯一标识
|
||||
private String OldAdminOpenId;
|
||||
// 老的超管的名字
|
||||
private String OldAdminName;
|
||||
// 老的超管的手机号
|
||||
private String OldAdminMobile;
|
||||
}
|
||||
@Setter
|
||||
@Getter
|
||||
public static class SuperAdminChanged {
|
||||
// 第三方应用的应用编号
|
||||
private String ApplicationId;
|
||||
// 第三方平台子客企业的唯一标识
|
||||
private String ProxyOrganizationOpenId;
|
||||
// 新的超管的企业的第三方平台子客企业员工的唯一标识
|
||||
private String ChangeToUserOpenId;
|
||||
// 新的超管的名字
|
||||
private String ChangeToUserName;
|
||||
// 新的超管的手机号
|
||||
private String ChangeToUserMobile;
|
||||
// 老的超管的企业的第三方平台子客企业员工的唯一标识
|
||||
private String OldAdminOpenId;
|
||||
// 老的超管的名字
|
||||
private String OldAdminName;
|
||||
// 老的超管的手机号
|
||||
private String OldAdminMobile;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.OrgPerson;
|
||||
@ -15,38 +16,38 @@ import javax.validation.constraints.NotNull;
|
||||
@Getter
|
||||
public class CreateConsoleLoginUrlRequest implements OrgPerson {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "单位id不能为空")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "单位id不能为空")
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "人员id不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "人员id不能为空")
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 具体传啥问产品:
|
||||
* PC: (默认)web控制台链接, 需要在PC浏览器中打开
|
||||
* CHANNEL: H5跳转到电子签小程序链接, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序
|
||||
* SHORT_URL: H5跳转到电子签小程序链接的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序
|
||||
* WEIXIN_QRCODE_URL: 直接跳转至电子签小程序的二维码链接,无需通过中转页。您需要自行将其转换为二维码,使用微信扫码后可直接进入。请注意,直接点击链接是无效的。
|
||||
* APP: APP或小程序跳转电子签小程序链接, 一般用于贵方小程序或者APP跳转过来, 打开后进入腾讯电子签小程序
|
||||
* H5: H5长链接跳转H5链接, 一般用于贵方H5跳转过来, 打开后进入腾讯电子签H5页面
|
||||
* SHORT_H5: H5短链跳转H5的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签H5页面
|
||||
*/
|
||||
@NotNull(message = "endpoint不能为空")
|
||||
private EssConsoleUrlEndpoint endpoint;
|
||||
/**
|
||||
* 具体传啥问产品:
|
||||
* PC: (默认)web控制台链接, 需要在PC浏览器中打开
|
||||
* CHANNEL: H5跳转到电子签小程序链接, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序
|
||||
* SHORT_URL: H5跳转到电子签小程序链接的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签小程序
|
||||
* WEIXIN_QRCODE_URL: 直接跳转至电子签小程序的二维码链接,无需通过中转页。您需要自行将其转换为二维码,使用微信扫码后可直接进入。请注意,直接点击链接是无效的。
|
||||
* APP: APP或小程序跳转电子签小程序链接, 一般用于贵方小程序或者APP跳转过来, 打开后进入腾讯电子签小程序
|
||||
* H5: H5长链接跳转H5链接, 一般用于贵方H5跳转过来, 打开后进入腾讯电子签H5页面
|
||||
* SHORT_H5: H5短链跳转H5的短链形式, 一般用于发送短信中带的链接, 打开后进入腾讯电子签H5页面
|
||||
*/
|
||||
@NotNull(message = "endpoint不能为空")
|
||||
private EssConsoleUrlEndpoint endpoint;
|
||||
|
||||
/**
|
||||
* 调试参数, 不填
|
||||
*/
|
||||
private transient boolean essCheckLoginPerson = true;
|
||||
/**
|
||||
* 调试参数, 不填
|
||||
*/
|
||||
private transient boolean essCheckLoginPerson = true;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.CreateContractByFile;
|
||||
@ -18,21 +19,22 @@ import javax.validation.constraints.NotNull;
|
||||
@Getter
|
||||
public class CreateContractByFileRequest extends CreateContractRequest {
|
||||
|
||||
/**
|
||||
* 通过上传PDF发起合同
|
||||
*/
|
||||
@Valid
|
||||
@NotNull(message = "byFile不能为空")
|
||||
private CreateContractByFile byFile;
|
||||
/**
|
||||
* 通过上传PDF发起合同
|
||||
*/
|
||||
@Valid
|
||||
@NotNull(message = "byFile不能为空")
|
||||
private CreateContractByFile byFile;
|
||||
|
||||
@JsonIgnore @JSONField(serialize = false)
|
||||
public CreateContractInfo getContract() {
|
||||
return byFile;
|
||||
}
|
||||
@JsonIgnore
|
||||
@JSONField(serialize = false)
|
||||
public CreateContractInfo getContract() {
|
||||
return byFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.CreateContractInfo;
|
||||
@ -19,32 +20,33 @@ import java.util.UUID;
|
||||
@Getter
|
||||
public abstract class CreateContractRequest {
|
||||
|
||||
/**
|
||||
* 发起合同的应用或业务场景
|
||||
*/
|
||||
@NotBlank(message = "appCode不能为空")
|
||||
private String appCode;
|
||||
/**
|
||||
* 发起合同的应用或业务场景
|
||||
*/
|
||||
@NotBlank(message = "appCode不能为空")
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 业务编码
|
||||
*/
|
||||
@NotNull(message = "bizCode不能为空")
|
||||
private String bizCode;
|
||||
/**
|
||||
* 业务编码
|
||||
*/
|
||||
@NotNull(message = "bizCode不能为空")
|
||||
private String bizCode;
|
||||
|
||||
/**
|
||||
* 幂等编码, 最大长度200. 使用appCode和idempotentCode的合同不能重复
|
||||
*/
|
||||
@NotBlank(message = "idempotentCode不能为空")
|
||||
private String idempotentCode = UUID.randomUUID().toString();
|
||||
/**
|
||||
* 幂等编码, 最大长度200. 使用appCode和idempotentCode的合同不能重复
|
||||
*/
|
||||
@NotBlank(message = "idempotentCode不能为空")
|
||||
private String idempotentCode = UUID.randomUUID().toString();
|
||||
|
||||
/**
|
||||
* 合同发起方信息
|
||||
*/
|
||||
@Valid
|
||||
@NotNull(message = "creator不能为空")
|
||||
private OperatorInfo creator;
|
||||
/**
|
||||
* 合同发起方信息
|
||||
*/
|
||||
@Valid
|
||||
@NotNull(message = "creator不能为空")
|
||||
private OperatorInfo creator;
|
||||
|
||||
@JsonIgnore @JSONField(serialize = false)
|
||||
public abstract CreateContractInfo getContract();
|
||||
@JsonIgnore
|
||||
@JSONField(serialize = false)
|
||||
public abstract CreateContractInfo getContract();
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -9,17 +10,18 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class DownloadSingedContractPdfRequest {
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -9,17 +10,18 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetContractDetailByContractIdRequest {
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.OrgPerson;
|
||||
@ -15,28 +16,28 @@ import javax.validation.constraints.NotNull;
|
||||
@Getter
|
||||
public class GetContractSignUrlRequest implements OrgPerson {
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 人员id, 需要有印章权限
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id, 需要有印章权限
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* PC: 电脑端, WEIXIN_APP: 小程序
|
||||
*/
|
||||
@NotNull(message = "urlType不能为空")
|
||||
private SignUrlEndpoint urlType;
|
||||
/**
|
||||
* PC: 电脑端, WEIXIN_APP: 小程序
|
||||
*/
|
||||
@NotNull(message = "urlType不能为空")
|
||||
private SignUrlEndpoint urlType;
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.enums.EssEmbedType;
|
||||
@ -10,36 +11,37 @@ import javax.validation.constraints.NotNull;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetEmbedWebUrlRequest {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "单位id不能为空")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "单位id不能为空")
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 内嵌类型.
|
||||
* CREATE_SEAL: 生成创建印章的嵌入页面
|
||||
* PREVIEW_CONTRACT: 生成预览合同文档的嵌入页面(H5链接,支持移动端的浏览器中打开)
|
||||
* PREVIEW_CONTRACT_DETAIL: 生成预览合同详情的嵌入页面(仅支持PC的浏览器中打开)
|
||||
* PREVIEW_SEAL_LIST: 生成预览印章列表的嵌入页面
|
||||
* PREVIEW_SEAL_DETAIL: 生成预览印章详情的嵌入页面
|
||||
*/
|
||||
@NotNull(message = "内嵌类型不能为空")
|
||||
private EssEmbedType embedType;
|
||||
/**
|
||||
* 内嵌类型.
|
||||
* CREATE_SEAL: 生成创建印章的嵌入页面
|
||||
* PREVIEW_CONTRACT: 生成预览合同文档的嵌入页面(H5链接,支持移动端的浏览器中打开)
|
||||
* PREVIEW_CONTRACT_DETAIL: 生成预览合同详情的嵌入页面(仅支持PC的浏览器中打开)
|
||||
* PREVIEW_SEAL_LIST: 生成预览印章列表的嵌入页面
|
||||
* PREVIEW_SEAL_DETAIL: 生成预览印章详情的嵌入页面
|
||||
*/
|
||||
@NotNull(message = "内嵌类型不能为空")
|
||||
private EssEmbedType embedType;
|
||||
|
||||
/**
|
||||
* 业务id.
|
||||
* PREVIEW_CONTRACT: 传入合同id
|
||||
* PREVIEW_CONTRACT_DETAIL: 传入合同id
|
||||
* PREVIEW_SEAL_DETAIL: 传入印章id
|
||||
*/
|
||||
private String businessId;
|
||||
/**
|
||||
* 业务id.
|
||||
* PREVIEW_CONTRACT: 传入合同id
|
||||
* PREVIEW_CONTRACT_DETAIL: 传入合同id
|
||||
* PREVIEW_SEAL_DETAIL: 传入印章id
|
||||
*/
|
||||
private String businessId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -10,18 +11,19 @@ import java.util.Set;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetOrgAuthStatesRequest {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotEmpty(message = "单位id不能为空")
|
||||
private Set<Long> ouIds;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotEmpty(message = "单位id不能为空")
|
||||
private Set<Long> ouIds;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.OrgPerson;
|
||||
@ -10,22 +11,23 @@ import javax.validation.constraints.NotNull;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetPersonAuthStateRequest implements OrgPerson {
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "单位id不能为空")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "单位id不能为空")
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "人员id不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "人员id不能为空")
|
||||
private Long personId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -8,13 +9,14 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetSealPersonRequest {
|
||||
|
||||
/**
|
||||
* 印章在腾讯的id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
/**
|
||||
* 印章在腾讯的id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -10,17 +11,18 @@ import java.util.Set;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetSealsRequest {
|
||||
|
||||
/**
|
||||
* 单位列表
|
||||
*/
|
||||
@NotNull(message = "单位列表不能为空")
|
||||
private Set<Long> ouIds;
|
||||
/**
|
||||
* 单位列表
|
||||
*/
|
||||
@NotNull(message = "单位列表不能为空")
|
||||
private Set<Long> ouIds;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.OrgPerson;
|
||||
@ -16,41 +17,41 @@ import javax.validation.constraints.NotNull;
|
||||
@Getter
|
||||
public class GetSignUrlRequest implements OrgPerson {
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "ouId不能为空")
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 人员id, 需要有印章权限
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id, 需要有印章权限
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* PC: 电脑端, WEIXIN_APP: 小程序
|
||||
*/
|
||||
@NotNull(message = "endpoint不能为空")
|
||||
private SignUrlEndpoint endpoint;
|
||||
/**
|
||||
* PC: 电脑端, WEIXIN_APP: 小程序
|
||||
*/
|
||||
@NotNull(message = "endpoint不能为空")
|
||||
private SignUrlEndpoint endpoint;
|
||||
|
||||
/**
|
||||
* 签署方编号, 可以使用该编号指定动态签署方的信息, 该编号在创建合同的时候会返回
|
||||
* <p/>
|
||||
* 如果在创建合同的时候存在任意没有指定具体签署人(Approver#signPersion)的情况下, 该字段必传
|
||||
* <p/>
|
||||
* 如果在创建合同的时候已经指定了所有的具体签署人(Approver#signPersion), 该字段可以不传
|
||||
*/
|
||||
private String recipientId;
|
||||
/**
|
||||
* 签署方编号, 可以使用该编号指定动态签署方的信息, 该编号在创建合同的时候会返回
|
||||
* <p/>
|
||||
* 如果在创建合同的时候存在任意没有指定具体签署人(Approver#signPersion)的情况下, 该字段必传
|
||||
* <p/>
|
||||
* 如果在创建合同的时候已经指定了所有的具体签署人(Approver#signPersion), 该字段可以不传
|
||||
*/
|
||||
private String recipientId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -10,23 +11,24 @@ import javax.validation.constraints.NotNull;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class RemoveSealAuthorizationRequest implements SealAndPersonRequest {
|
||||
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -14,20 +15,20 @@ import javax.validation.constraints.NotNull;
|
||||
@Getter
|
||||
public class RemoveSealPersonRequest {
|
||||
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
/**
|
||||
* 印章id
|
||||
*/
|
||||
@NotBlank(message = "essSealId不能为空")
|
||||
private String essSealId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@NotNull(message = "personId不能为空")
|
||||
private Long personId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -9,22 +10,23 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class RevokeContractRequest {
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
|
||||
/**
|
||||
* 撤销原因
|
||||
*/
|
||||
private String reason;
|
||||
/**
|
||||
* 撤销原因
|
||||
*/
|
||||
private String reason;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -9,22 +10,23 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class SaveContractSnapshotRequest {
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotBlank(message = "essContractId不能为空")
|
||||
private String essContractId;
|
||||
|
||||
/**
|
||||
* 是否重复下载, 即已经下载过了, 但是需要重新下载
|
||||
*/
|
||||
private boolean retryDownload = false;
|
||||
/**
|
||||
* 是否重复下载, 即已经下载过了, 但是需要重新下载
|
||||
*/
|
||||
private boolean retryDownload = false;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.request;
|
||||
|
||||
/**
|
||||
@ -5,8 +6,8 @@ package cn.axzo.nanopart.ess.api.request;
|
||||
*/
|
||||
public interface SealAndPersonRequest {
|
||||
|
||||
String getEssSealId();
|
||||
String getEssSealId();
|
||||
|
||||
Long getPersonId();
|
||||
Long getPersonId();
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -7,16 +8,17 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class CreateConsoleLoginUrlResponse {
|
||||
|
||||
/**
|
||||
* 腾讯电子签登录地址
|
||||
*/
|
||||
private String consoleLoginUrl;
|
||||
/**
|
||||
* 腾讯电子签登录地址
|
||||
*/
|
||||
private String consoleLoginUrl;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -9,30 +10,31 @@ import java.util.List;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class CreateContractByFileResponse {
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private String essContractId;
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private String essContractId;
|
||||
|
||||
/**
|
||||
* 签署方编号, 可以使用该编号指定动态签署方的信息, 顺序和请求中的approvers一致.
|
||||
* <p/>
|
||||
* 比如在使用了动态签署人的情况下, 就需要保存这个字段
|
||||
* <p/>
|
||||
* 在获取签署链接的时候回传到获取签署链接的请求中, 用以和创建合同的请求中的签署人的其它信息进行匹配
|
||||
*/
|
||||
private List<String> essRecipientIds;
|
||||
/**
|
||||
* 签署方编号, 可以使用该编号指定动态签署方的信息, 顺序和请求中的approvers一致.
|
||||
* <p/>
|
||||
* 比如在使用了动态签署人的情况下, 就需要保存这个字段
|
||||
* <p/>
|
||||
* 在获取签署链接的时候回传到获取签署链接的请求中, 用以和创建合同的请求中的签署人的其它信息进行匹配
|
||||
*/
|
||||
private List<String> essRecipientIds;
|
||||
|
||||
/**
|
||||
* 是否重复 (幂等)
|
||||
*/
|
||||
private boolean isDuplicate;
|
||||
/**
|
||||
* 是否重复 (幂等)
|
||||
*/
|
||||
private boolean isDuplicate;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -7,16 +8,17 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class DownloadSingedContractPdfResponse {
|
||||
|
||||
/**
|
||||
* 合同pdf下载地址. 下载链接有效期为5分钟
|
||||
*/
|
||||
private String pdfUrl;
|
||||
/**
|
||||
* 合同pdf下载地址. 下载链接有效期为5分钟
|
||||
*/
|
||||
private String pdfUrl;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.domain.contract.EssContractInfo;
|
||||
@ -8,16 +9,17 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetContractDetailByContractIdResponse {
|
||||
|
||||
/**
|
||||
* 合同信息
|
||||
*/
|
||||
private EssContractInfo contract;
|
||||
/**
|
||||
* 合同信息
|
||||
*/
|
||||
private EssContractInfo contract;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -6,14 +7,15 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetContractSignUrlResponse {
|
||||
|
||||
/**
|
||||
* 签署地址或二维码地址, 有效期为5分钟
|
||||
* 如果是PC端, 才是二维码地址
|
||||
* 如果是小程序端, 则是小程序地址
|
||||
*/
|
||||
private String signOrQrUrl;
|
||||
/**
|
||||
* 签署地址或二维码地址, 有效期为5分钟
|
||||
* 如果是PC端, 才是二维码地址
|
||||
* 如果是小程序端, 则是小程序地址
|
||||
*/
|
||||
private String signOrQrUrl;
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -7,16 +8,17 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetEmbedWebUrlResponse {
|
||||
|
||||
/**
|
||||
* 内嵌页面地址, 有效期为5分钟
|
||||
*/
|
||||
private String embedWebUrl;
|
||||
/**
|
||||
* 内嵌页面地址, 有效期为5分钟
|
||||
*/
|
||||
private String embedWebUrl;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -7,21 +8,22 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetOrgAuthStatesResponse {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 是否开通了电子签
|
||||
*/
|
||||
private boolean isAuthorized;
|
||||
/**
|
||||
* 是否开通了电子签
|
||||
*/
|
||||
private boolean isAuthorized;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -7,17 +8,17 @@ import lombok.Setter;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetPersonAuthStateResponse {
|
||||
|
||||
/**
|
||||
* 是否认证
|
||||
*/
|
||||
private boolean isAuthorized;
|
||||
/**
|
||||
* 是否认证
|
||||
*/
|
||||
private boolean isAuthorized;
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.response;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -11,13 +12,13 @@ import lombok.Setter;
|
||||
@Getter
|
||||
public class GetSignUrlResponse {
|
||||
|
||||
/**
|
||||
* 有效期为5分钟.
|
||||
*/
|
||||
private String url;
|
||||
/**
|
||||
* 有效期为5分钟.
|
||||
*/
|
||||
private String url;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
package cn.axzo.nanopart.ess.api.utils;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
@ -9,27 +10,25 @@ import lombok.Getter;
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public enum YesOrNo {
|
||||
YES("YES", "是"),
|
||||
NO("NO", "是")
|
||||
;
|
||||
public enum YesOrNo {
|
||||
YES("YES", "是"), NO("NO", "是");
|
||||
|
||||
private final String code;
|
||||
private final String desc;
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
public static YesOrNo valueOf(boolean value) {
|
||||
return value ? YES : NO;
|
||||
}
|
||||
public static YesOrNo valueOf(boolean value) {
|
||||
return value ? YES : NO;
|
||||
}
|
||||
|
||||
public boolean booleanValue() {
|
||||
return this == YES;
|
||||
}
|
||||
public boolean booleanValue() {
|
||||
return this == YES;
|
||||
}
|
||||
|
||||
public boolean isYes() {
|
||||
return this == YES;
|
||||
}
|
||||
public boolean isYes() {
|
||||
return this == YES;
|
||||
}
|
||||
|
||||
public boolean isNo() {
|
||||
return this == NO;
|
||||
}
|
||||
public boolean isNo() {
|
||||
return this == NO;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user