feat: 添加 copyDefaultParamsToProject 私有方法
This commit is contained in:
@@ -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<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