feat: 添加 copyDefaultParamsToProject 私有方法
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user