diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiModelParamServiceImpl.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiModelParamServiceImpl.java index 1e057f2..927e552 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiModelParamServiceImpl.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiModelParamServiceImpl.java @@ -309,10 +309,33 @@ public class CcdiModelParamServiceImpl implements ICcdiModelParamService { // 如果是首次保存(configType=default),需要复制所有模型的系统默认参数 if ("default".equals(project.getConfigType())) { - for (ModelParamGroupDTO modelGroup : saveAllDTO.getModels()) { - copyDefaultParamsToProject(projectId, modelGroup.getModelCode()); + // 1. 查询所有系统默认参数(所有模型的所有参数) + List allDefaultParams = modelParamMapper.selectByProjectId(0L); + if (allDefaultParams.isEmpty()) { + log.warn("系统默认参数为空"); + return; } + // 2. 批量复制所有默认参数到项目 + List projectParams = new ArrayList<>(); + for (CcdiModelParam param : allDefaultParams) { + CcdiModelParam newParam = new CcdiModelParam(); + BeanUtils.copyProperties(param, newParam); + newParam.setProjectId(projectId); + // 清空审计字段,让 MyBatis Plus 自动填充 + newParam.setCreateBy(null); + newParam.setCreateTime(null); + newParam.setUpdateBy(null); + newParam.setUpdateTime(null); + projectParams.add(newParam); + } + + // 3. 批量插入 + modelParamMapper.insertBatch(projectParams); + + log.info("复制所有系统默认参数到项目成功, projectId={}, count={}", + projectId, projectParams.size()); + // 更新项目配置类型为 custom project.setConfigType("custom"); projectMapper.updateById(project);