diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java index 550a8f3..6be4f1d 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java @@ -2,10 +2,12 @@ package com.ruoyi.ccdi.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.ccdi.project.domain.CcdiProject; import com.ruoyi.ccdi.project.domain.dto.CcdiFileUploadQueryDTO; import com.ruoyi.ccdi.project.domain.entity.CcdiFileUploadRecord; import com.ruoyi.ccdi.project.domain.vo.CcdiFileUploadStatisticsVO; import com.ruoyi.ccdi.project.mapper.CcdiFileUploadRecordMapper; +import com.ruoyi.ccdi.project.mapper.CcdiProjectMapper; import com.ruoyi.ccdi.project.service.ICcdiFileUploadService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -52,6 +54,9 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService { @Resource private CcdiFileUploadRecordMapper recordMapper; + @Resource + private CcdiProjectMapper projectMapper; + @Resource @Qualifier("fileUploadExecutor") private Executor fileUploadExecutor; @@ -131,10 +136,18 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService { // 1. 生成批次ID String batchId = UUID.randomUUID().toString().replace("-", ""); - // 2. 获取项目的 lsfxProjectId - // TODO: 需要注入 CcdiProjectMapper 并查询项目信息 - // Integer lsfxProjectId = project.getLsfxProjectId(); - Integer lsfxProjectId = 1; // 临时硬编码,稍后修复 + // 2. 查询项目信息并获取 lsfxProjectId + CcdiProject project = projectMapper.selectById(projectId); + if (project == null) { + throw new IllegalArgumentException("项目不存在: projectId=" + projectId); + } + + Integer lsfxProjectId = project.getLsfxProjectId(); + if (lsfxProjectId == null) { + throw new IllegalStateException("项目未关联流水分析平台: projectId=" + projectId); + } + + log.info("【文件上传】项目信息验证通过: projectId={}, lsfxProjectId={}", projectId, lsfxProjectId); // Critical Fix #2: 保存MultipartFile到临时存储,避免异步处理时文件已被清理 List tempFilePaths = new ArrayList<>();