feat: 添加 copyDefaultParamsToProject 私有方法

This commit is contained in:
wkc
2026-03-06 15:25:00 +08:00
parent 0828897860
commit 7dba7845cc

View File

@@ -152,4 +152,44 @@ public class CcdiModelParamServiceImpl implements ICcdiModelParamService {
modelParamMapper.batchUpdateParamValues(updateList); modelParamMapper.batchUpdateParamValues(updateList);
} }
} }
/**
* 复制系统默认参数到项目
*
* @param projectId 项目ID
* @param modelCode 模型编码
* @return 复制的参数数量
*/
private int copyDefaultParamsToProject(Long projectId, String modelCode) {
// 查询系统默认参数
List<CcdiModelParam> defaultParams = modelParamMapper.selectByProjectAndModel(0L, modelCode);
if (defaultParams.isEmpty()) {
log.warn("系统默认参数为空modelCode={}", modelCode);
return 0;
}
// 复制到项目
List<CcdiModelParam> 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;
}
} }