feat: 修改 selectParamList 方法支持根据 configType 返回对应参数
This commit is contained in:
@@ -60,16 +60,38 @@ public class CcdiModelParamServiceImpl implements ICcdiModelParamService {
|
||||
|
||||
@Override
|
||||
public List<ModelParamVO> selectParamList(ModelParamQueryDTO queryDTO) {
|
||||
// 1. 参数验证
|
||||
Long projectId = queryDTO.getProjectId();
|
||||
if (projectId == null) {
|
||||
projectId = 0L;
|
||||
}
|
||||
|
||||
// 2. 如果是项目查询(projectId > 0),需要根据 configType 决定查询哪组参数
|
||||
Long effectiveProjectId = projectId;
|
||||
if (projectId > 0) {
|
||||
// 查询项目信息
|
||||
CcdiProject project = projectMapper.selectById(projectId);
|
||||
if (project == null) {
|
||||
throw new ServiceException("项目不存在");
|
||||
}
|
||||
|
||||
// 根据 configType 决定查询哪组参数
|
||||
if ("default".equals(project.getConfigType())) {
|
||||
// 使用系统默认参数
|
||||
effectiveProjectId = 0L;
|
||||
} else {
|
||||
// 使用项目自定义参数
|
||||
effectiveProjectId = projectId;
|
||||
}
|
||||
}
|
||||
|
||||
// 3. 查询参数列表
|
||||
List<CcdiModelParam> params = modelParamMapper.selectByProjectAndModel(
|
||||
projectId,
|
||||
effectiveProjectId,
|
||||
queryDTO.getModelCode()
|
||||
);
|
||||
|
||||
// 4. 转换为 VO
|
||||
List<ModelParamVO> result = new ArrayList<>();
|
||||
params.forEach(param -> {
|
||||
ModelParamVO vo = new ModelParamVO();
|
||||
|
||||
Reference in New Issue
Block a user