REQ-3581: 备份
This commit is contained in:
parent
bd04a3d140
commit
9991e75e90
@ -21,6 +21,8 @@ public class EssApproveDetail {
|
||||
*/
|
||||
private Long personId;
|
||||
|
||||
private String recipientId;
|
||||
|
||||
/**
|
||||
* 签署状态
|
||||
*/
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package cn.axzo.nanopart.ess.server.entity.domain;
|
||||
package cn.axzo.nanopart.ess.api.enums;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
@ -5,7 +5,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.EssContractState;
|
||||
import cn.axzo.nanopart.ess.api.utils.YesOrNo;
|
||||
import cn.axzo.nanopart.ess.server.entity.domain.ApproverAssignType;
|
||||
import cn.axzo.nanopart.ess.api.enums.ApproverAssignType;
|
||||
import cn.axzo.nanopart.ess.server.entity.domain.AssignedApprovers;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.nanopart.ess.server.entity.domain;
|
||||
|
||||
import cn.axzo.nanopart.ess.api.enums.ApproverAssignType;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
@ -3,6 +3,8 @@ package cn.axzo.nanopart.ess.server.entity.domain;
|
||||
import cn.axzo.basics.common.exception.ServiceException;
|
||||
import cn.axzo.nanopart.ess.api.domain.contract.Approver;
|
||||
import cn.axzo.nanopart.ess.server.utils.BizAssertions;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
@ -12,6 +14,7 @@ import java.util.Optional;
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
public class SignByOrg {
|
||||
|
||||
private final List<OrgRecipientId> recipientIds = new ArrayList<>();
|
||||
|
||||
@ -21,7 +21,7 @@ import cn.axzo.nanopart.ess.server.entity.EssOrg;
|
||||
import cn.axzo.nanopart.ess.server.entity.EssPerson;
|
||||
import cn.axzo.nanopart.ess.server.entity.EssSeal;
|
||||
import cn.axzo.nanopart.ess.server.entity.EssSealPerson;
|
||||
import cn.axzo.nanopart.ess.server.entity.domain.ApproverAssignType;
|
||||
import cn.axzo.nanopart.ess.api.enums.ApproverAssignType;
|
||||
import cn.axzo.nanopart.ess.server.ess.domain.JsonObjectAsString;
|
||||
import cn.axzo.nanopart.ess.server.ess.domain.SealPersons;
|
||||
import cn.axzo.nanopart.ess.server.ess.support.EssSupport;
|
||||
@ -166,15 +166,15 @@ public class ContractManager {
|
||||
//noinspection DataFlowIssue
|
||||
BizAssertions.assertTrue(contract.getIsDynamicApprover().isYes(), "合同不支持动态签署");
|
||||
BizAssertions.assertEquals(ApproverAssignType.ORG_WEIXIN_APP, contract.getAssignType(), "签署方式不正确");
|
||||
String assignedRecipientId = contract.getAssignedApprovers()
|
||||
String recipientId = contract.getAssignedApprovers()
|
||||
.getSignByOrg()
|
||||
.assign(contract.getApprovers(), request.getOuId(), request.getRecipientId());
|
||||
Approver approver = contract.getAssignedApprovers()
|
||||
.getSignByOrg()
|
||||
.getApproverOrThrow(contract.getApprovers(), assignedRecipientId);
|
||||
.getApproverOrThrow(contract.getApprovers(), recipientId);
|
||||
checkApproverSeals(request, approver.getSealTypes());
|
||||
essContractDao.updateAssignedApprovers(contract);
|
||||
return assignedRecipientId;
|
||||
return recipientId;
|
||||
}
|
||||
|
||||
public void checkApproverSeals(OrgPerson person, List<EssSealType> sealTypes) {
|
||||
|
||||
@ -106,8 +106,10 @@ public class EssService {
|
||||
EssPerson signPerson = essPersonDao.findOrNull(request);
|
||||
BizAssertions.assertNotNull(signPerson, "当前签署人员未加入单位, 无法签署");
|
||||
String recipientId = contractManager.assignRecipientIdByOrg(request);
|
||||
EssContract contract = essContractDao.getOrThrow(request.getEssContractId());
|
||||
EssPerson creator = contractManager.getContractCreatorOrThrow(contract);
|
||||
CreateSignUrlsResponse essResponse = essClient
|
||||
.getContractSignUrlWeixinApp(request.getEssContractId(), signPerson, recipientId);
|
||||
.getContractSignUrlWeixinApp(request.getEssContractId(), creator, recipientId);
|
||||
SignUrlInfo signUrlInfo = essResponse.getSignUrlInfos()[0];
|
||||
return request.getUrlType() == SignUrlType.PC
|
||||
? signUrlInfo.getSignQrcodeUrl()
|
||||
|
||||
@ -133,10 +133,13 @@ class CallbackController implements EssCallbackApi, InitializingBean {
|
||||
}
|
||||
List<EssApproveDetail> approveDetails = changes.getFlowApproverInfo().stream()
|
||||
.map(info -> {
|
||||
PersonOpenId personOpenId = PersonOpenId.parse(info.getProxyOperatorOpenId());
|
||||
EssApproveDetail detail = new EssApproveDetail();
|
||||
if (StringUtils.isNotBlank(info.getProxyOperatorOpenId())) {
|
||||
PersonOpenId personOpenId = PersonOpenId.parse(info.getProxyOperatorOpenId());
|
||||
detail.setOuId(personOpenId.getOuId());
|
||||
detail.setPersonId(personOpenId.getPersonId());
|
||||
}
|
||||
detail.setRecipientId(info.getRecipientId());
|
||||
detail.setState(EssContractApproveState.fromEssCode(info.getApproveStatus()));
|
||||
detail.setSignOrder(info.getSignOrder());
|
||||
detail.setApproveTimeMs(info.getApproveTime() * 1000);
|
||||
|
||||
@ -10,7 +10,7 @@ import cn.axzo.nanopart.ess.api.enums.EssPersonState;
|
||||
import cn.axzo.nanopart.ess.api.request.CreateConsoleLoginUrlRequest;
|
||||
import cn.axzo.nanopart.ess.api.request.CreateContractRequest;
|
||||
import cn.axzo.nanopart.ess.api.utils.YesOrNo;
|
||||
import cn.axzo.nanopart.ess.server.entity.domain.ApproverAssignType;
|
||||
import cn.axzo.nanopart.ess.api.enums.ApproverAssignType;
|
||||
import cn.axzo.nanopart.ess.server.entity.domain.AssignedApprovers;
|
||||
import cn.axzo.nanopart.ess.server.entity.EssContract;
|
||||
import cn.axzo.nanopart.ess.server.entity.EssOrg;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user