feat: 修改 selectParamList 方法支持根据 configType 返回对应参数
This commit is contained in:
@@ -60,16 +60,38 @@ public class CcdiModelParamServiceImpl implements ICcdiModelParamService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ModelParamVO> selectParamList(ModelParamQueryDTO queryDTO) {
|
public List<ModelParamVO> selectParamList(ModelParamQueryDTO queryDTO) {
|
||||||
|
// 1. 参数验证
|
||||||
Long projectId = queryDTO.getProjectId();
|
Long projectId = queryDTO.getProjectId();
|
||||||
if (projectId == null) {
|
if (projectId == null) {
|
||||||
projectId = 0L;
|
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(
|
List<CcdiModelParam> params = modelParamMapper.selectByProjectAndModel(
|
||||||
projectId,
|
effectiveProjectId,
|
||||||
queryDTO.getModelCode()
|
queryDTO.getModelCode()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 4. 转换为 VO
|
||||||
List<ModelParamVO> result = new ArrayList<>();
|
List<ModelParamVO> result = new ArrayList<>();
|
||||||
params.forEach(param -> {
|
params.forEach(param -> {
|
||||||
ModelParamVO vo = new ModelParamVO();
|
ModelParamVO vo = new ModelParamVO();
|
||||||
|
|||||||
Reference in New Issue
Block a user