diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java index ad3ac9f4..a346d050 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java @@ -103,7 +103,7 @@ public interface ModelsService { Page> queryVersions(PageRequest pageRequest, String identifier, String owner, String type) throws Exception; - List queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) throws Exception; + Map queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) throws Exception; List> getVersionList(String identifier, String owner) throws Exception; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index 252d3bd6..734e39e7 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -1030,40 +1030,45 @@ public class ModelsServiceImpl implements ModelsService { } @Override - public List queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) { - List batchMetrics = new ArrayList<>(); - for (String version : queryModelMetricsVo.getVersions()) { - ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(queryModelMetricsVo.getRepoId(), queryModelMetricsVo.getIdentifier(), version); - ModelMetaVo modelMetaVo = JSON.parseObject(modelDependency1.getMeta(), ModelMetaVo.class); - HashMap metrics = modelMetaVo.getMetricsParams(); - List needMetrics = queryModelMetricsVo.getMetrics(); + public Map queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) { + Map batchMetrics = new HashMap<>(); + List needMetrics = queryModelMetricsVo.getMetrics(); + for (String needMetric : needMetrics) { ArrayList> result = new ArrayList<>(); - if (Constant.Type_Train.equals(queryModelMetricsVo.getType())) { - List>> tarinDetail = (List>>) metrics.get("tarinDetail"); - if (tarinDetail != null && tarinDetail.size() > 0) { - List> trainMetrics = tarinDetail.get(0); - for (Map trainMetric : trainMetrics) { - if (needMetrics.contains((String) trainMetric.get("name"))) { - result.add(trainMetric); + + for (String version : queryModelMetricsVo.getVersions()) { + ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(queryModelMetricsVo.getRepoId(), queryModelMetricsVo.getIdentifier(), version); + ModelMetaVo modelMetaVo = JSON.parseObject(modelDependency1.getMeta(), ModelMetaVo.class); + HashMap metrics = modelMetaVo.getMetricsParams(); + + if (Constant.Type_Train.equals(queryModelMetricsVo.getType())) { + List>> tarinDetail = (List>>) metrics.get("tarinDetail"); + if (tarinDetail != null && tarinDetail.size() > 0) { + List> trainMetrics = tarinDetail.get(0); + for (Map trainMetric : trainMetrics) { + if (needMetric.equals(trainMetric.get("name"))) { + trainMetric.put("version", version); + result.add(trainMetric); + } } } - batchMetrics.add(result); - } - } else { - List>> evaluateDetail = (List>>) metrics.get("evaluateDetail"); - if (evaluateDetail != null && evaluateDetail.size() > 0) { - List> evaluateMetrics = evaluateDetail.get(0); - - for (Map trainMetric : evaluateMetrics) { - if (needMetrics.contains((String) trainMetric.get("name"))) { - result.add(trainMetric); + } else { + List>> evaluateDetail = (List>>) metrics.get("evaluateDetail"); + if (evaluateDetail != null && evaluateDetail.size() > 0) { + List> evaluateMetrics = evaluateDetail.get(0); + for (Map evaluateMetric : evaluateMetrics) { + if (needMetric.equals(evaluateMetric.get("name"))) { + evaluateMetric.put("version", version); + result.add(evaluateMetric); + } } } - batchMetrics.add(result); } } + batchMetrics.put(needMetric, result); } + return batchMetrics; }