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 1e20bd0..67a3897 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 @@ -152,4 +152,44 @@ public class CcdiModelParamServiceImpl implements ICcdiModelParamService { modelParamMapper.batchUpdateParamValues(updateList); } } + + /** + * 复制系统默认参数到项目 + * + * @param projectId 项目ID + * @param modelCode 模型编码 + * @return 复制的参数数量 + */ + private int copyDefaultParamsToProject(Long projectId, String modelCode) { + // 查询系统默认参数 + List defaultParams = modelParamMapper.selectByProjectAndModel(0L, modelCode); + + if (defaultParams.isEmpty()) { + log.warn("系统默认参数为空,modelCode={}", modelCode); + return 0; + } + + // 复制到项目 + List projectParams = defaultParams.stream() + .map(param -> { + CcdiModelParam newParam = new CcdiModelParam(); + BeanUtils.copyProperties(param, newParam); + newParam.setId(null); // 清空ID,让数据库自动生成 + newParam.setProjectId(projectId); + newParam.setCreateBy(null); // 清空审计字段,让 MyBatis Plus 自动填充 + newParam.setCreateTime(null); + newParam.setUpdateBy(null); + newParam.setUpdateTime(null); + return newParam; + }) + .collect(Collectors.toList()); + + // 批量插入 + int count = modelParamMapper.insertBatch(projectParams); + + log.info("复制系统默认参数到项目成功,projectId={}, modelCode={}, count={}", + projectId, modelCode, count); + + return count; + } }