REQ-3581: 接口

This commit is contained in:
yanglin 2025-02-27 10:11:58 +08:00
parent 6cd6748b88
commit 0524e8f3a3
3 changed files with 14 additions and 12 deletions

View File

@ -3,30 +3,32 @@ package cn.axzo.nanopart.ess.api.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.experimental.Accessors;
/**
* @author yanglin
*/
@Getter
@Accessors(fluent = true)
@RequiredArgsConstructor
public enum EssEmbedType {
// 生成创建印章的嵌入页面
CREATE_SEAL(false, "CREATE_SEAL", EssContext.SEAL),
CREATE_SEAL(false, "CREATE_SEAL", EssSubject.SEAL),
// 生成预览印章列表的嵌入页面
PREVIEW_SEAL_LIST(false, "PREVIEW_SEAL_LIST", EssContext.SEAL),
PREVIEW_SEAL_LIST(false, "PREVIEW_SEAL_LIST", EssSubject.SEAL),
// 生成预览印章详情的嵌入页面
PREVIEW_SEAL_DETAIL(true, "PREVIEW_SEAL_DETAIL", EssContext.SEAL),
PREVIEW_SEAL_DETAIL(true, "PREVIEW_SEAL_DETAIL", EssSubject.SEAL),
// 生成预览合同文档的嵌入页面H5链接支持移动端的浏览器中打开
PREVIEW_CONTRACT(true, "PREVIEW_FLOW", EssContext.CONTRACT),
PREVIEW_CONTRACT(true, "PREVIEW_FLOW", EssSubject.CONTRACT),
// 生成预览合同详情的嵌入页面仅支持PC的浏览器中打开
PREVIEW_CONTRACT_DETAIL(true, "PREVIEW_FLOW_DETAIL", EssContext.CONTRACT);
PREVIEW_CONTRACT_DETAIL(true, "PREVIEW_FLOW_DETAIL", EssSubject.CONTRACT);
private final boolean businessIdRequired;
private final String essCode;
private final EssContext essContext;
private final EssSubject essSubject;
public enum EssContext {
public enum EssSubject {
SEAL, CONTRACT
}

View File

@ -129,12 +129,12 @@ public class EssClient implements InitializingBean {
}
public String getEmbedWebUrl(EssPerson contextPerson, EssEmbedType embedType, String businessId) {
if (embedType.isBusinessIdRequired())
if (embedType.businessIdRequired())
BizAssertions.assertNotBlank(businessId, "内嵌类型为{}时业务ID不能为空", embedType.name());
ChannelCreateEmbedWebUrlRequest request = new ChannelCreateEmbedWebUrlRequest();
request.setAgent(agent(contextPerson));
request.setBusinessId(businessId);
request.setEmbedType(embedType.getEssCode());
request.setEmbedType(embedType.essCode());
request.setHiddenComponents(true);
ChannelCreateEmbedWebUrlResponse response = exec(func() //
.context("ChannelCreateEmbedWebUrl") //

View File

@ -6,7 +6,7 @@ import cn.axzo.nanopart.ess.api.domain.contract.Approver;
import cn.axzo.nanopart.ess.api.domain.contract.EssApproveDetail;
import cn.axzo.nanopart.ess.api.enums.Constraint;
import cn.axzo.nanopart.ess.api.enums.EssContractApproveState;
import cn.axzo.nanopart.ess.api.enums.EssEmbedType.EssContext;
import cn.axzo.nanopart.ess.api.enums.EssEmbedType.EssSubject;
import cn.axzo.nanopart.ess.api.enums.SignUrlEndpoint;
import cn.axzo.nanopart.ess.api.request.AddSealAuthorizationRequest;
import cn.axzo.nanopart.ess.api.request.CreateConsoleLoginUrlRequest;
@ -71,12 +71,12 @@ public class EssService {
public String getEmbedWebUrl(GetEmbedWebUrlRequest request) {
EssPerson contextPerson;
if (request.getEmbedType().getEssContext() == EssContext.CONTRACT) {
if (request.getEmbedType().essSubject() == EssSubject.CONTRACT) {
BizAssertions.assertNotBlank(request.getBusinessId(), "合同ID不能为空");
EssContract contract = essContractDao.getOrThrow(request.getBusinessId());
contextPerson = contractManager.getContractSuperAdmin(contract);
}
else if (request.getEmbedType().getEssContext() == EssContext.SEAL) {
else if (request.getEmbedType().essSubject() == EssSubject.SEAL) {
BizAssertions.assertNotBlank(request.getBusinessId(), "印章ID不能为空");
contextPerson = orgManager.getSuperAdminOrThrow(request.getOuId());
}