fix(ccdi-project): 修复批量保存时复制所有模型参数的逻辑

This commit is contained in:
wkc
2026-03-06 17:12:02 +08:00
parent b484f1226f
commit a102643b9f

View File

@@ -309,10 +309,33 @@ public class CcdiModelParamServiceImpl implements ICcdiModelParamService {
// 如果是首次保存configType=default),需要复制所有模型的系统默认参数 // 如果是首次保存configType=default),需要复制所有模型的系统默认参数
if ("default".equals(project.getConfigType())) { if ("default".equals(project.getConfigType())) {
for (ModelParamGroupDTO modelGroup : saveAllDTO.getModels()) { // 1. 查询所有系统默认参数(所有模型的所有参数)
copyDefaultParamsToProject(projectId, modelGroup.getModelCode()); List<CcdiModelParam> allDefaultParams = modelParamMapper.selectByProjectId(0L);
if (allDefaultParams.isEmpty()) {
log.warn("系统默认参数为空");
return;
} }
// 2. 批量复制所有默认参数到项目
List<CcdiModelParam> 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 // 更新项目配置类型为 custom
project.setConfigType("custom"); project.setConfigType("custom");
projectMapper.updateById(project); projectMapper.updateById(project);