REQ-3581: fix bug
This commit is contained in:
parent
263a3e70be
commit
bf3c256e8a
@ -5,5 +5,5 @@ package cn.axzo.nanopart.ess.api.enums;
|
|||||||
* @author yanglin
|
* @author yanglin
|
||||||
*/
|
*/
|
||||||
public enum SignUrlEndpoint {
|
public enum SignUrlEndpoint {
|
||||||
PC, WEIXIN_APP
|
PC, WEIXIN_APP, H5
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class AssignSignUrlRequest implements OrgPerson {
|
|||||||
private Long personId;
|
private Long personId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PC: 电脑端, WEIXIN_APP: 小程序
|
* PC: 电脑端, WEIXIN_APP: 小程序, H5: h5
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "endpoint不能为空")
|
@NotNull(message = "endpoint不能为空")
|
||||||
private SignUrlEndpoint endpoint;
|
private SignUrlEndpoint endpoint;
|
||||||
|
|||||||
@ -41,6 +41,8 @@ import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateEmbedWebUrlRes
|
|||||||
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowApproversRequest;
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowApproversRequest;
|
||||||
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowByFilesRequest;
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowByFilesRequest;
|
||||||
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowByFilesResponse;
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowByFilesResponse;
|
||||||
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowSignUrlRequest;
|
||||||
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateFlowSignUrlResponse;
|
||||||
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateOrganizationBatchSignUrlRequest;
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateOrganizationBatchSignUrlRequest;
|
||||||
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateOrganizationBatchSignUrlResponse;
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateOrganizationBatchSignUrlResponse;
|
||||||
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateSealPolicyRequest;
|
import com.tencentcloudapi.essbasic.v20210526.models.ChannelCreateSealPolicyRequest;
|
||||||
@ -327,7 +329,7 @@ public class EssClient implements InitializingBean {
|
|||||||
|
|
||||||
public String createPcSignUrl(EssPerson superAdmin, String essContractId, EssPerson signPerson) {
|
public String createPcSignUrl(EssPerson superAdmin, String essContractId, EssPerson signPerson) {
|
||||||
ChannelCreateOrganizationBatchSignUrlRequest request = new ChannelCreateOrganizationBatchSignUrlRequest();
|
ChannelCreateOrganizationBatchSignUrlRequest request = new ChannelCreateOrganizationBatchSignUrlRequest();
|
||||||
request.setAgent(agent(superAdmin));
|
request.setAgent(agent(signPerson));
|
||||||
request.setFlowIds(new String[] { essContractId });
|
request.setFlowIds(new String[] { essContractId });
|
||||||
request.setOpenId(PersonOpenId.create(signPerson).toOpenId());
|
request.setOpenId(PersonOpenId.create(signPerson).toOpenId());
|
||||||
ChannelCreateOrganizationBatchSignUrlResponse response = exec(func() //
|
ChannelCreateOrganizationBatchSignUrlResponse response = exec(func() //
|
||||||
@ -362,6 +364,25 @@ public class EssClient implements InitializingBean {
|
|||||||
return response.getSignUrlInfos()[0].getSignUrl();
|
return response.getSignUrlInfos()[0].getSignUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String channelCreateFlowSignUrl(EssPerson superAdmin, String essContractId, EssPerson signPerson) {
|
||||||
|
FlowApproverInfo approver = new FlowApproverInfo();
|
||||||
|
approver.setOpenId(PersonOpenId.create(signPerson).toOpenId());
|
||||||
|
approver.setOrganizationOpenId(OrgOpenId.ofPerson(signPerson).toOpenId());
|
||||||
|
ChannelCreateFlowSignUrlRequest request = new ChannelCreateFlowSignUrlRequest();
|
||||||
|
request.setAgent(agent(superAdmin));
|
||||||
|
request.setFlowId(essContractId);
|
||||||
|
request.setFlowApproverInfos(new FlowApproverInfo[]{approver});
|
||||||
|
ChannelCreateFlowSignUrlResponse response = exec(func() //
|
||||||
|
.context("ChannelCreateFlowSignUrl") //
|
||||||
|
.subject(idbuilder() //
|
||||||
|
.append(essContractId) //
|
||||||
|
.append(signPerson.getPersonId()) //
|
||||||
|
.build()) //
|
||||||
|
.request(request) //
|
||||||
|
.command(() -> manage.ChannelCreateFlowSignUrl(request)));
|
||||||
|
return response.getFlowApproverUrlInfos()[0].getSignUrl();
|
||||||
|
}
|
||||||
|
|
||||||
public void forward(EssPerson superAdmin, String essContractId, String recipientId, EssPerson signPerson) {
|
public void forward(EssPerson superAdmin, String essContractId, String recipientId, EssPerson signPerson) {
|
||||||
CreateFlowForwardsRequest request = new CreateFlowForwardsRequest();
|
CreateFlowForwardsRequest request = new CreateFlowForwardsRequest();
|
||||||
request.setAgent(agent(superAdmin));
|
request.setAgent(agent(superAdmin));
|
||||||
|
|||||||
@ -152,11 +152,18 @@ public class EssService {
|
|||||||
essContractDao.updateAssigment(contract);
|
essContractDao.updateAssigment(contract);
|
||||||
}
|
}
|
||||||
EssPerson superAdmin = contractManager.getContractSuperAdmin(contract);
|
EssPerson superAdmin = contractManager.getContractSuperAdmin(contract);
|
||||||
if (request.getEndpoint() != SignUrlEndpoint.PC)
|
if (request.getEndpoint() == SignUrlEndpoint.PC) {
|
||||||
|
essClient.createFlowApprovers(superAdmin, contract.getEssContractId(), request.getRecipientId(),
|
||||||
|
signPerson);
|
||||||
|
return essClient.createPcSignUrl(superAdmin, contract.getEssContractId(), signPerson);
|
||||||
|
}
|
||||||
|
else if (request.getEndpoint() == SignUrlEndpoint.WEIXIN_APP)
|
||||||
return essClient.createSignUrls(superAdmin, contract.getEssContractId(), request.getRecipientId(),
|
return essClient.createSignUrls(superAdmin, contract.getEssContractId(), request.getRecipientId(),
|
||||||
signPerson);
|
signPerson);
|
||||||
essClient.createFlowApprovers(superAdmin, contract.getEssContractId(), request.getRecipientId(), signPerson);
|
else if (request.getEndpoint() == SignUrlEndpoint.H5) {
|
||||||
return essClient.createPcSignUrl(superAdmin, contract.getEssContractId(), signPerson);
|
return essClient.channelCreateFlowSignUrl(superAdmin, contract.getEssContractId(), signPerson);
|
||||||
|
} else
|
||||||
|
throw BizAssertions.fail("不支持的签署端点: {}", request.getEndpoint());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getContractPDFUrl(String essContractId) {
|
public String getContractPDFUrl(String essContractId) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user