diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java index 20f2e31..807a358 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java @@ -16,6 +16,7 @@ import com.ruoyi.lsfx.domain.response.GetTokenResponse; import jakarta.annotation.Resource; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * 项目Service实现类 @@ -32,20 +33,28 @@ public class CcdiProjectServiceImpl implements ICcdiProjectService { private LsfxAnalysisClient lsfxAnalysisClient; @Override + @Transactional(rollbackFor = Exception.class) public CcdiProjectVO createProject(CcdiProjectSaveDTO dto) { + // 1. 调用流水分析平台获取projectId + Integer lsfxProjectId = callLsfxPlatform(dto.getProjectName()); + + // 2. 创建项目实体 CcdiProject project = new CcdiProject(); BeanUtils.copyProperties(dto, project); - // 设置默认值 + // 3. 设置默认值和流水分析平台ID project.setStatus("0"); // 进行中 project.setIsArchived(0); // 未归档 project.setTargetCount(0); project.setHighRiskCount(0); project.setMediumRiskCount(0); project.setLowRiskCount(0); + project.setLsfxProjectId(lsfxProjectId); // 设置流水分析平台ID + // 4. 保存到数据库 projectMapper.insert(project); + // 5. 返回VO CcdiProjectVO vo = new CcdiProjectVO(); BeanUtils.copyProperties(project, vo); return vo;