diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSimpleVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSimpleVO.java index 844bc4c..65c831b 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSimpleVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSimpleVO.java @@ -40,6 +40,16 @@ public class ModelSimpleVO { */ private String version; + /** + * 系统名称 + */ + private String systemName; + + /** + * 机组名称 + */ + private String unitName; + /** * 模型状态 */ diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java index a3afeeb..9b38c51 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java @@ -18,10 +18,12 @@ import cn.iocoder.yudao.module.alert.dao.domain.AssessReportCfg; import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg; import cn.iocoder.yudao.module.alert.dao.domain.ModelVersion; import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; +import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; import cn.iocoder.yudao.module.alert.dao.mapper.AssessReportCfgMapper; import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService; import cn.iocoder.yudao.module.alert.dao.service.ModelVersionService; import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; +import cn.iocoder.yudao.module.alert.dao.service.UnitCfgService; import cn.iocoder.yudao.module.alert.param.AnnTestParam; import cn.iocoder.yudao.module.alert.param.AnnTrainParam; import cn.iocoder.yudao.module.alert.param.ModelTestParam; @@ -57,6 +59,8 @@ public class ModelServiceImpl implements ModelService { private final SystemCfgService systemCfgService; + private final UnitCfgService unitCfgService; + private final ModelVersionService modelVersionService; private final AssessReportCfgMapper assessReportCfgMapper; @@ -88,21 +92,43 @@ public class ModelServiceImpl implements ModelService { .like(StringUtils.hasLength(modelName), ModelCfg::getModelName, modelName); if (Objects.equals(query.getPageSize(), PageParam.PAGE_SIZE_NONE)) { List list = modelCfgService.list(queryWrapper); - List records = list.stream().map(modelCfg -> ModelSimpleVO.builder() - .id(modelCfg.getId()) - .name(modelCfg.getModelName() == null ? null : modelCfg.getModelName().trim()) - .creator(modelCfg.getCreator()) - .createTime(modelCfg.getCreateTime()) - .version(modelCfg.getCurVersion()) - .status(modelCfg.getStatus()) - .algorithm(Algorithm.of(modelCfg.getAlgorithmId()).toString()) - .build()) - .collect(Collectors.toList()); + List records = buildModelSimpleList(list); return PagedResponse.of(list.size(), query.getPageNo(), query.getPageSize(), records); } Page page = modelCfgService.page(new Page<>(query.getPageNo(), query.getPageSize()), queryWrapper); - List list = page.getRecords().stream().map(modelCfg -> ModelSimpleVO.builder() + List list = buildModelSimpleList(page.getRecords()); + return PagedResponse.of(page.getTotal(), query.getPageNo(), query.getPageSize(), list); + } + + private List buildModelSimpleList(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + List systemIds = list.stream() + .map(ModelCfg::getSystemId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + List systemCfgList = systemIds.isEmpty() + ? Collections.emptyList() + : systemCfgService.list(Wrappers.lambdaQuery().in(SystemCfg::getSystemId, systemIds)); + Map systemNameMap = systemCfgList.stream() + .collect(Collectors.toMap(SystemCfg::getSystemId, SystemCfg::getSystemName, (a, b) -> a)); + Map systemUnitMap = systemCfgList.stream() + .collect(Collectors.toMap(SystemCfg::getSystemId, SystemCfg::getUnitId, (a, b) -> a)); + + List unitIds = systemCfgList.stream() + .map(SystemCfg::getUnitId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + Map unitNameMap = unitIds.isEmpty() + ? Collections.emptyMap() + : unitCfgService.list(Wrappers.lambdaQuery().in(UnitCfg::getUnitId, unitIds)) + .stream() + .collect(Collectors.toMap(UnitCfg::getUnitId, UnitCfg::getUnitName, (a, b) -> a)); + return list.stream().map(modelCfg -> ModelSimpleVO.builder() .id(modelCfg.getId()) .name(modelCfg.getModelName() == null ? null : modelCfg.getModelName().trim()) .creator(modelCfg.getCreator()) @@ -110,9 +136,10 @@ public class ModelServiceImpl implements ModelService { .version(modelCfg.getCurVersion()) .status(modelCfg.getStatus()) .algorithm(Algorithm.of(modelCfg.getAlgorithmId()).toString()) + .systemName(systemNameMap.get(modelCfg.getSystemId())) + .unitName(unitNameMap.get(systemUnitMap.get(modelCfg.getSystemId()))) .build()) .collect(Collectors.toList()); - return PagedResponse.of(page.getTotal(), query.getPageNo(), query.getPageSize(), list); } @Override diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index a5b1e18..75f2b28 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -276,7 +276,7 @@ EXA: point: head: XN. algorithm: - host: 120.26.116.243:8082 + host: 127.0.0.1:8082 assess-report: host: 120.26.116.243:8098 PCA: