From 09f6c18716cfbe2a80f2f9ad16a9dd5920f378aa Mon Sep 17 00:00:00 2001 From: yanglin Date: Mon, 24 Feb 2025 17:35:52 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3581:=20=E8=BF=94=E5=9B=9E=E5=B9=82?= =?UTF-8?q?=E7=AD=89=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ess/api/response/CreateContractByFileResponse.java | 5 +++++ .../cn/axzo/nanopart/ess/server/ess/ContractManager.java | 4 +++- .../nanopart/ess/server/ess/support/ContractSupport.java | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/response/CreateContractByFileResponse.java b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/response/CreateContractByFileResponse.java index 1dec8603..6352f25a 100644 --- a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/response/CreateContractByFileResponse.java +++ b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/response/CreateContractByFileResponse.java @@ -26,6 +26,11 @@ public class CreateContractByFileResponse { */ private List essRecipientIds; + /** + * 是否重复 (幂等) + */ + private boolean isDuplicate; + @Override public String toString() { return JSON.toJSONString(this); diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java index bd5f1077..05fde93d 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java @@ -48,12 +48,14 @@ public class ContractManager { public CreateContractByFileResponse createContractByFile(CreateContractByFileRequest request) { - essLogDao.logRequest("createContractByFile", request.getIdempotentCode(), request); + essLogDao.logRequest("createContractByFile", request.getBizCode(), request); contractSupport.validateCreateContract(request.getContract()); EssContract contract; try { contract = contractSupport.saveContractByFile(request); } catch (DuplicateKeyException e) { + essLogDao.log("createContractByFile", request.getBizCode(), + "message", "重复创建合同", "request", request); return contractSupport.createDuplicateContractByFileResponse(request); } try { diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java index 9a94cc63..c7d71156 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java @@ -97,6 +97,7 @@ public class ContractSupport { response.setEssRecipientIds(savedContract.getApprovers().stream() .map(Approver::getEssRecipientId) .collect(toList())); + response.setDuplicate(true); return response; }