From 9d1cea06d444f5b0d011434b1d6f6bab36fe95e3 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Mon, 27 Jul 2026 15:09:57 +0800 Subject: [PATCH] 1 --- .../executor/institution/EvalProjectExecutor.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java index cde63dd..b994719 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java @@ -20,15 +20,18 @@ import org.qinan.safetyeval.domain.query.EvalProjectMemberQuery; import org.qinan.safetyeval.domain.query.EvalProjectQuery; import org.qinan.safetyeval.domain.query.PageResult; import org.qinan.safetyeval.domain.service.EvalProjectDomainService; +import org.qinan.safetyeval.domain.waring.model.EvalProjectProcessWaringE; import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; import org.qinan.safetyeval.infrastructure.mapper.EvalProjectMapper; import org.qinan.safetyeval.infrastructure.support.InstitutionOrgSupport; +import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; import org.qinan.safetyeval.infrastructure.support.ProjectNoGenerator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.time.LocalDate; @@ -60,13 +63,25 @@ public class EvalProjectExecutor implements EvalProjectApi { private EvalProjectMemberGateway evalProjectMemberGateway; @Override + @Transactional(rollbackFor = Exception.class) public SingleResponse save(EvalProjectAddCmd cmd) { Long orgId = institutionOrgSupport.resolveCurrentOrgId(); EvalProjectEntity entity = evalProjectCmdConvertor.convertAddCmdToE(cmd); EvalProjectEntity result = saveWithProjectNo(entity, orgId); + createProcessWaring(result); return SingleResponse.success(evalProjectCmdConvertor.convertEToCO(result)); } + /** + * 项目创建成功后,初始化一条项目过程预警记录(默认正常状态)。 + */ + private void createProcessWaring(EvalProjectEntity project) { + EvalProjectProcessWaringE waring = EvalProjectProcessWaringE.of(); + waring.setProjectId(project.getId()); + InsertFieldDefaults.apply(waring); + waring.add(); + } + @Override public SingleResponse get(Long id) { EvalProjectEntity entity = evalProjectDomainService.get(id);