From 9d9c1eff48aa68dc99524bbb4e9d983ebd4b1c70 Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 18 Oct 2024 08:38:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E7=89=88=E6=9C=AC=E6=8C=87=E6=A0=87=E5=AF=B9=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/NewModelFromGitController.java | 5 +-- .../platform/domain/ModelDependency1.java | 3 -- .../ruoyi/platform/service/ModelsService.java | 3 +- .../service/impl/ModelsServiceImpl.java | 35 ++++++++++--------- .../platform/vo/QueryModelMetricsVo.java | 22 ++++++++++++ 5 files changed, 46 insertions(+), 22 deletions(-) create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java index be6ebee7..3ba4a9fa 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java @@ -4,6 +4,7 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.platform.domain.ModelDependency1; import com.ruoyi.platform.service.ModelsService; import com.ruoyi.platform.vo.ModelsVo; +import com.ruoyi.platform.vo.QueryModelMetricsVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.core.io.InputStreamResource; @@ -88,8 +89,8 @@ public class NewModelFromGitController { @PostMapping("/queryVersionsMetrics") @ApiOperation("查询版本指标") - public AjaxResult queryVersionsMetrics(@RequestBody List params, @RequestParam("type") String type) throws Exception { - return AjaxResult.success(this.modelsService.queryVersionsMetrics(params, type)); + public AjaxResult queryVersionsMetrics(@RequestBody QueryModelMetricsVo queryModelMetricsVo) throws Exception { + return AjaxResult.success(this.modelsService.queryVersionsMetrics(queryModelMetricsVo)); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java index b19e2a4a..c8d6a224 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java @@ -28,7 +28,4 @@ public class ModelDependency1 implements Serializable { private Integer state; private String meta; - - @TableField(exist = false) - private List metrics; } 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 72ad75dd..ad3ac9f4 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 @@ -6,6 +6,7 @@ import com.ruoyi.platform.domain.Models; import com.ruoyi.platform.domain.ModelsVersion; import com.ruoyi.platform.vo.ModelDependency1TreeVo; import com.ruoyi.platform.vo.ModelsVo; +import com.ruoyi.platform.vo.QueryModelMetricsVo; import org.springframework.core.io.InputStreamResource; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -102,7 +103,7 @@ public interface ModelsService { Page> queryVersions(PageRequest pageRequest, String identifier, String owner, String type) throws Exception; - List queryVersionsMetrics(List params, String type) throws Exception; + List 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 bcada61b..252d3bd6 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,35 +1030,38 @@ public class ModelsServiceImpl implements ModelsService { } @Override - public List queryVersionsMetrics(List params, String type) { + public List queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) { List batchMetrics = new ArrayList<>(); - for (ModelDependency1 model : params) { - ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(model.getRepoId(), model.getIdentifier(), model.getVersion()); + 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 = model.getMetrics(); + List needMetrics = queryModelMetricsVo.getMetrics(); ArrayList> result = new ArrayList<>(); - if (Constant.Type_Train.equals(type)) { + if (Constant.Type_Train.equals(queryModelMetricsVo.getType())) { List>> tarinDetail = (List>>) metrics.get("tarinDetail"); - List> trainMetrics = tarinDetail.get(0); - - for (Map trainMetric : trainMetrics) { - if (needMetrics.contains((String) trainMetric.get("name"))) { - result.add(trainMetric); + 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); + } } + batchMetrics.add(result); } - batchMetrics.add(result); } else { List>> evaluateDetail = (List>>) metrics.get("evaluateDetail"); - List> evaluateMetrics = evaluateDetail.get(0); + 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); + for (Map trainMetric : evaluateMetrics) { + if (needMetrics.contains((String) trainMetric.get("name"))) { + result.add(trainMetric); + } } + batchMetrics.add(result); } - batchMetrics.add(result); } } return batchMetrics; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java new file mode 100644 index 00000000..435eaea4 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java @@ -0,0 +1,22 @@ +package com.ruoyi.platform.vo; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import lombok.Data; + +import java.util.List; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class QueryModelMetricsVo { + + private Integer repoId; + + private String identifier; + + private List versions; + + private List metrics; + + private String type; +}