diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java index 43101e49..d49db8e4 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java @@ -32,6 +32,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionTemplate; import java.util.function.Function; @@ -56,6 +57,7 @@ public class EssService { private final EssSupport essSupport; private final TransactionTemplate transactionTemplate; + @Transactional public String createConsoleLoginUrl(CreateConsoleLoginUrlRequest request) { String subject = IdBuilder.builder() .append(request.getOuId()) @@ -84,6 +86,7 @@ public class EssService { contextPerson, request.getEmbedType(), request.getBusinessId()); } + @Transactional public void essAddSealAuthorization(AddSealAuthorizationRequest request) { String subject = IdBuilder.builder() .append(request.getEssSealId()) @@ -102,6 +105,7 @@ public class EssService { orgManager.addSealAuthorization(request.getEssSealId(), request.getPersonId(), request.getOperatorPersonId()); } + @Transactional public void essRemoveSealAuthorization(RemoveSealAuthorizationRequest request) { String subject = IdBuilder.builder() .append(request.getEssSealId()) @@ -193,8 +197,10 @@ public class EssService { String pdfUrl = getContractPDFUrlFromEss(c); String fileName = String.format("%s.pdf", c.getContractName()); String fileKey = ossService.uploadToOss(pdfUrl, fileName); - essContractDao.setOssFileKey(c, fileKey); - essLogDao.log("uploadContractToOss", c.getEssContractId()); + transactionTemplate.executeWithoutResult(unused -> { + essContractDao.setOssFileKey(c, fileKey); + essLogDao.log("uploadContractToOss", c.getEssContractId(), "ossFileKey", fileKey); + }); log.info("上传合同到OSS成功, essContractId={}", c.getEssContractId()); } catch (Exception e) { log.warn("上传合同到OSS失败", e); diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/PersonResignListener.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/PersonResignListener.java index f8f2e140..44984a0c 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/PersonResignListener.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/PersonResignListener.java @@ -20,6 +20,7 @@ import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.springframework.beans.factory.InitializingBean; import org.springframework.stereotype.Component; +import org.springframework.transaction.support.TransactionTemplate; import java.util.Collections; @@ -45,6 +46,7 @@ public class PersonResignListener extends BaseListener private final EssOrgDao essOrgDao; private final EssPersonDao essPersonDao; private final EssLogDao essLogDao; + private final TransactionTemplate transactionTemplate; @Override public void onMessage(MessageExt message) { @@ -57,7 +59,7 @@ public class PersonResignListener extends BaseListener OrgUserStatusChangedEvent userEvent = event.normalizedData(OrgUserStatusChangedEvent.class); log.info("receive user event: {}", JSON.toJSONString(userEvent)); if (userEvent.getStatusCode() == 6) - trySetPersonResigned(userEvent); + transactionTemplate.executeWithoutResult(unused -> trySetPersonResigned(userEvent)); else log.info("ignore user event: {}", JSON.toJSONString(userEvent)); }