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.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.experimental.Accessors;
/** /**
* @author yanglin * @author yanglin
*/ */
@Getter @Getter
@Accessors(fluent = true)
@RequiredArgsConstructor @RequiredArgsConstructor
public enum EssEmbedType { 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链接支持移动端的浏览器中打开 // 生成预览合同文档的嵌入页面H5链接支持移动端的浏览器中打开
PREVIEW_CONTRACT(true, "PREVIEW_FLOW", EssContext.CONTRACT), PREVIEW_CONTRACT(true, "PREVIEW_FLOW", EssSubject.CONTRACT),
// 生成预览合同详情的嵌入页面仅支持PC的浏览器中打开 // 生成预览合同详情的嵌入页面仅支持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 boolean businessIdRequired;
private final String essCode; private final String essCode;
private final EssContext essContext; private final EssSubject essSubject;
public enum EssContext { public enum EssSubject {
SEAL, CONTRACT SEAL, CONTRACT
} }

View File

@ -129,12 +129,12 @@ public class EssClient implements InitializingBean {
} }
public String getEmbedWebUrl(EssPerson contextPerson, EssEmbedType embedType, String businessId) { public String getEmbedWebUrl(EssPerson contextPerson, EssEmbedType embedType, String businessId) {
if (embedType.isBusinessIdRequired()) if (embedType.businessIdRequired())
BizAssertions.assertNotBlank(businessId, "内嵌类型为{}时业务ID不能为空", embedType.name()); BizAssertions.assertNotBlank(businessId, "内嵌类型为{}时业务ID不能为空", embedType.name());
ChannelCreateEmbedWebUrlRequest request = new ChannelCreateEmbedWebUrlRequest(); ChannelCreateEmbedWebUrlRequest request = new ChannelCreateEmbedWebUrlRequest();
request.setAgent(agent(contextPerson)); request.setAgent(agent(contextPerson));
request.setBusinessId(businessId); request.setBusinessId(businessId);
request.setEmbedType(embedType.getEssCode()); request.setEmbedType(embedType.essCode());
request.setHiddenComponents(true); request.setHiddenComponents(true);
ChannelCreateEmbedWebUrlResponse response = exec(func() // ChannelCreateEmbedWebUrlResponse response = exec(func() //
.context("ChannelCreateEmbedWebUrl") // .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.domain.contract.EssApproveDetail;
import cn.axzo.nanopart.ess.api.enums.Constraint; import cn.axzo.nanopart.ess.api.enums.Constraint;
import cn.axzo.nanopart.ess.api.enums.EssContractApproveState; 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.enums.SignUrlEndpoint;
import cn.axzo.nanopart.ess.api.request.AddSealAuthorizationRequest; import cn.axzo.nanopart.ess.api.request.AddSealAuthorizationRequest;
import cn.axzo.nanopart.ess.api.request.CreateConsoleLoginUrlRequest; import cn.axzo.nanopart.ess.api.request.CreateConsoleLoginUrlRequest;
@ -71,12 +71,12 @@ public class EssService {
public String getEmbedWebUrl(GetEmbedWebUrlRequest request) { public String getEmbedWebUrl(GetEmbedWebUrlRequest request) {
EssPerson contextPerson; EssPerson contextPerson;
if (request.getEmbedType().getEssContext() == EssContext.CONTRACT) { if (request.getEmbedType().essSubject() == EssSubject.CONTRACT) {
BizAssertions.assertNotBlank(request.getBusinessId(), "合同ID不能为空"); BizAssertions.assertNotBlank(request.getBusinessId(), "合同ID不能为空");
EssContract contract = essContractDao.getOrThrow(request.getBusinessId()); EssContract contract = essContractDao.getOrThrow(request.getBusinessId());
contextPerson = contractManager.getContractSuperAdmin(contract); contextPerson = contractManager.getContractSuperAdmin(contract);
} }
else if (request.getEmbedType().getEssContext() == EssContext.SEAL) { else if (request.getEmbedType().essSubject() == EssSubject.SEAL) {
BizAssertions.assertNotBlank(request.getBusinessId(), "印章ID不能为空"); BizAssertions.assertNotBlank(request.getBusinessId(), "印章ID不能为空");
contextPerson = orgManager.getSuperAdminOrThrow(request.getOuId()); contextPerson = orgManager.getSuperAdminOrThrow(request.getOuId());
} }