fix: 修复硬编码lsfxProjectId问题

- 注入CcdiProjectMapper
- 查询项目信息获取真实的lsfxProjectId
- 验证项目存在,不存在则抛出IllegalArgumentException
- 验证项目已关联流水分析平台,未关联则抛出IllegalStateException
- 添加日志记录项目信息验证通过
This commit is contained in:
wkc
2026-03-05 10:39:13 +08:00
parent ebf66ea70b
commit aa0c49f9b1

View File

@@ -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<String> tempFilePaths = new ArrayList<>();