From fabb3c7a28b008914ee14fa238e965c274c3741b Mon Sep 17 00:00:00 2001 From: yanglin Date: Mon, 24 Feb 2025 19:42:16 +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 --- .../cn/axzo/nanopart/ess/server/ess/ContractManager.java | 5 ++--- .../nanopart/ess/server/ess/support/ContractSupport.java | 2 -- .../cn/axzo/nanopart/ess/server/ess/support/OrgProfiles.java | 5 ----- 3 files changed, 2 insertions(+), 10 deletions(-) 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 05fde93d..79d8729f 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 @@ -88,9 +88,8 @@ public class ContractManager { @BizTransactional public void revokeContract(RevokeContractRequest request) { essLogDao.logRequest("revokeContract", request.getEssContractId(), request); - EssContract contract = essContractDao.getOrThrow(request.getEssContractId()); - BizAssertions.assertFalse(contract.isFinalState(), - "合同已是最终状态 {}, 无法撤销", contract.getState().getDescription()); + // lock when updating state + EssContract contract = essContractDao.findForUpdateOrNull(request.getEssContractId()); EssPerson superAdmin = getContractSuperAdmin(contract); essClient.revokeContract(superAdmin, contract.getEssContractId(), request.getReason()); updateContractState(contract, EssContractState.CANCEL, null, request.getReason()); 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 6f25f227..fbeb9a9c 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 @@ -7,7 +7,6 @@ import cn.axzo.nanopart.ess.api.enums.EssContractState; import cn.axzo.nanopart.ess.api.request.CreateContractByFileRequest; import cn.axzo.nanopart.ess.api.response.CreateContractByFileResponse; import cn.axzo.nanopart.ess.server.dao.EssContractDao; -import cn.axzo.nanopart.ess.server.dao.EssLogDao; import cn.axzo.nanopart.ess.server.dao.EssOrgDao; import cn.axzo.nanopart.ess.server.entity.EssContract; import cn.axzo.nanopart.ess.server.entity.EssOrg; @@ -33,7 +32,6 @@ public class ContractSupport { private final EssOrgDao essOrgDao; private final EssContractDao essContractDao; - private final EssLogDao essLogDao; public void validateCreateContract(CreateContractInfo contract) { checkCreateContractConstraint(contract); diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/OrgProfiles.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/OrgProfiles.java index 84f5a30b..20fc6965 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/OrgProfiles.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/OrgProfiles.java @@ -5,7 +5,6 @@ import cn.axzo.nanopart.ess.server.utils.BizAssertions; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; -import java.util.Collections; import java.util.List; import java.util.Optional; @@ -17,10 +16,6 @@ public class OrgProfiles { private final List profiles; - public static OrgProfiles empty() { - return new OrgProfiles(Collections.emptyList()); - } - public static OrgProfiles wrap(List profiles) { return new OrgProfiles(profiles); }