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
|
||||
*/
|
||||
public enum SignUrlEndpoint {
|
||||
PC, WEIXIN_APP
|
||||
PC, WEIXIN_APP, H5
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ public class AssignSignUrlRequest implements OrgPerson {
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* PC: 电脑端, WEIXIN_APP: 小程序
|
||||
* PC: 电脑端, WEIXIN_APP: 小程序, H5: h5
|
||||
*/
|
||||
@NotNull(message = "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.ChannelCreateFlowByFilesRequest;
|
||||
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.ChannelCreateOrganizationBatchSignUrlResponse;
|
||||
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) {
|
||||
ChannelCreateOrganizationBatchSignUrlRequest request = new ChannelCreateOrganizationBatchSignUrlRequest();
|
||||
request.setAgent(agent(superAdmin));
|
||||
request.setAgent(agent(signPerson));
|
||||
request.setFlowIds(new String[] { essContractId });
|
||||
request.setOpenId(PersonOpenId.create(signPerson).toOpenId());
|
||||
ChannelCreateOrganizationBatchSignUrlResponse response = exec(func() //
|
||||
@ -362,6 +364,25 @@ public class EssClient implements InitializingBean {
|
||||
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) {
|
||||
CreateFlowForwardsRequest request = new CreateFlowForwardsRequest();
|
||||
request.setAgent(agent(superAdmin));
|
||||
|
||||
@ -152,11 +152,18 @@ public class EssService {
|
||||
essContractDao.updateAssigment(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(),
|
||||
signPerson);
|
||||
essClient.createFlowApprovers(superAdmin, contract.getEssContractId(), request.getRecipientId(), signPerson);
|
||||
return essClient.createPcSignUrl(superAdmin, contract.getEssContractId(), signPerson);
|
||||
else if (request.getEndpoint() == SignUrlEndpoint.H5) {
|
||||
return essClient.channelCreateFlowSignUrl(superAdmin, contract.getEssContractId(), signPerson);
|
||||
} else
|
||||
throw BizAssertions.fail("不支持的签署端点: {}", request.getEndpoint());
|
||||
}
|
||||
|
||||
public String getContractPDFUrl(String essContractId) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user