REQ-3581: 返回幂等信息

This commit is contained in:
yanglin 2025-02-24 17:35:52 +08:00
parent 5da969247e
commit 09f6c18716
3 changed files with 9 additions and 1 deletions

View File

@ -26,6 +26,11 @@ public class CreateContractByFileResponse {
*/ */
private List<String> essRecipientIds; private List<String> essRecipientIds;
/**
* 是否重复 (幂等)
*/
private boolean isDuplicate;
@Override @Override
public String toString() { public String toString() {
return JSON.toJSONString(this); return JSON.toJSONString(this);

View File

@ -48,12 +48,14 @@ public class ContractManager {
public CreateContractByFileResponse public CreateContractByFileResponse
createContractByFile(CreateContractByFileRequest request) { createContractByFile(CreateContractByFileRequest request) {
essLogDao.logRequest("createContractByFile", request.getIdempotentCode(), request); essLogDao.logRequest("createContractByFile", request.getBizCode(), request);
contractSupport.validateCreateContract(request.getContract()); contractSupport.validateCreateContract(request.getContract());
EssContract contract; EssContract contract;
try { try {
contract = contractSupport.saveContractByFile(request); contract = contractSupport.saveContractByFile(request);
} catch (DuplicateKeyException e) { } catch (DuplicateKeyException e) {
essLogDao.log("createContractByFile", request.getBizCode(),
"message", "重复创建合同", "request", request);
return contractSupport.createDuplicateContractByFileResponse(request); return contractSupport.createDuplicateContractByFileResponse(request);
} }
try { try {

View File

@ -97,6 +97,7 @@ public class ContractSupport {
response.setEssRecipientIds(savedContract.getApprovers().stream() response.setEssRecipientIds(savedContract.getApprovers().stream()
.map(Approver::getEssRecipientId) .map(Approver::getEssRecipientId)
.collect(toList())); .collect(toList()));
response.setDuplicate(true);
return response; return response;
} }