From 7b3894f82aadcd647f5eff6a1b408a08055f50bf Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Mon, 7 Apr 2025 08:33:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E7=82=B9=E8=B5=9E=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/NewModelFromGitController.java | 14 ++++++++++- .../ruoyi/platform/service/ModelsService.java | 4 ++++ .../service/impl/ModelsServiceImpl.java | 24 ++++++++++++++++++- .../service/impl/NewDatasetServiceImpl.java | 11 +++++++-- .../java/com/ruoyi/platform/vo/ModelsVo.java | 6 +++++ .../com/ruoyi/platform/vo/NewDatasetVo.java | 7 ++++++ 6 files changed, 62 insertions(+), 4 deletions(-) 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 33fcf5ea..78f8221b 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 @@ -134,7 +134,19 @@ public class NewModelFromGitController { @PostMapping("/getVersionsCompare") @ApiOperation(value = "获取模型版本对比") - public AjaxResult getVersionsCompare(@RequestBody QueryModelMetricsVo queryModelMetricsVo) throws Exception{ + public AjaxResult getVersionsCompare(@RequestBody QueryModelMetricsVo queryModelMetricsVo) throws Exception { return AjaxResult.success(this.modelsService.getVersionsCompare(queryModelMetricsVo)); } + + @PostMapping("/praise/{id}") + @ApiOperation(value = "点赞一个项目") + public AjaxResult praise(@PathVariable("id") Integer id) throws Exception { + return AjaxResult.success(this.modelsService.praise(id)); + } + + @DeleteMapping("/unpraise/{id}") + @ApiOperation(value = "取消点赞一个项目") + public AjaxResult unpraise(@PathVariable("id") Integer id) throws Exception { + return AjaxResult.success(this.modelsService.unpraise(id)); + } } 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 3cc44ba1..aa3ec74b 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 @@ -116,4 +116,8 @@ public interface ModelsService { void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception; Map getVersionsCompare(QueryModelMetricsVo queryModelMetricsVo) throws Exception; + + String praise(Integer id) throws Exception; + + String unpraise(Integer id) 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 f3c9681f..d7ab3578 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 @@ -6,13 +6,13 @@ import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.annotations.CheckDuplicate; -import com.ruoyi.system.api.constant.Constant; import com.ruoyi.platform.domain.*; import com.ruoyi.platform.domain.dependencydomain.TrainTaskDepency; import com.ruoyi.platform.mapper.*; import com.ruoyi.platform.service.*; import com.ruoyi.platform.utils.*; import com.ruoyi.platform.vo.*; +import com.ruoyi.system.api.constant.Constant; import com.ruoyi.system.api.model.LoginUser; import io.minio.messages.Item; import org.apache.commons.io.FileUtils; @@ -1125,6 +1125,12 @@ public class ModelsServiceImpl implements ModelsService { throw new Exception("版本数据为空"); } + String token = gitService.checkoutToken(); + String url = gitendpoint + "/api/" + owner + "/" + identifier + "/detail.json"; + String req = httpUtils.sendGetWithToken(url, null, token); + Map reqMap = JacksonUtil.parseJSONStr2Map(req); + modelsVo.setPraisesCount((Integer) reqMap.get("praises_count")); + modelsVo.setPraised((Boolean) reqMap.get("praised")); return modelsVo; } @@ -1227,6 +1233,22 @@ public class ModelsServiceImpl implements ModelsService { return result; } + @Override + public String praise(Integer id) throws Exception { + String token = gitService.checkoutToken(); + String url = gitendpoint + "/api/projects/" + id + "/praise_tread/like.json"; + httpUtils.sendPostWithToken(url, null, token, null); + return "点赞成功"; + } + + @Override + public String unpraise(Integer id) throws Exception { + String token = gitService.checkoutToken(); + String url = gitendpoint + "/api/projects/" + id + "/praise_tread/unlike.json"; + httpUtils.sendDeleteWithToken(url, null, token, null); + return "取消点赞成功"; + } + public List convert(List> lst, String modelTopic, String modelTagName, String modelTypeName) { if (lst != null && lst.size() > 0) { List result = new ArrayList<>(); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java index e2cf6f26..55f692e9 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java @@ -3,7 +3,6 @@ package com.ruoyi.platform.service.impl; import com.alibaba.fastjson2.JSON; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.system.api.constant.Constant; import com.ruoyi.platform.domain.*; import com.ruoyi.platform.mapper.AssetWorkflowDao; import com.ruoyi.platform.mapper.AutoMlDao; @@ -13,6 +12,7 @@ import com.ruoyi.platform.service.GitService; import com.ruoyi.platform.service.NewDatasetService; import com.ruoyi.platform.utils.*; import com.ruoyi.platform.vo.*; +import com.ruoyi.system.api.constant.Constant; import com.ruoyi.system.api.model.LoginUser; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; @@ -377,7 +377,7 @@ public class NewDatasetServiceImpl implements NewDatasetService { Map stringObjectMap = YamlUtils.loadYamlFile(localPathlocal + ci4sUsername + "/datasets/" + id + "/" + repo + "/" + version + "/dataset.yaml"); String jsonString = JacksonUtil.toJSONString(stringObjectMap); NewDatasetVo newDatasetVo = JsonUtils.jsonToObject(jsonString, NewDatasetVo.class); - List versionVos = new ArrayList(); + List versionVos = new ArrayList<>(); if (fileDetailsAfterGitPull != null && fileDetailsAfterGitPull.size() > 0) { for (Map fileDetail : fileDetailsAfterGitPull) { VersionVo versionVo = new VersionVo(); @@ -389,6 +389,13 @@ public class NewDatasetServiceImpl implements NewDatasetService { } } newDatasetVo.setDatasetVersionVos(versionVos); + + String token = gitService.checkoutToken(); + String url = gitendpoint + "/api/" + owner + "/" + repo + "/detail.json"; + String req = httpUtils.sendGetWithToken(url, null, token); + Map reqMap = JacksonUtil.parseJSONStr2Map(req); + newDatasetVo.setPraisesCount((Integer) reqMap.get("praises_count")); + newDatasetVo.setPraised((Boolean) reqMap.get("praised")); return newDatasetVo; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java index 9859bf77..50d26219 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java @@ -15,6 +15,12 @@ public class ModelsVo extends ModelMetaVo implements Serializable { @ApiModelProperty(name = "status", value = "状态") private Integer status; + @ApiModelProperty(name = "praises_count",value = "点赞数量") + private Integer praisesCount; + + @ApiModelProperty(name = "praises_count",value = "是否点赞") + private Boolean praised; + @ApiModelProperty(name = "model_version_vos") private List modelVersionVos; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java index 1f84900f..082df2a4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java @@ -50,6 +50,13 @@ public class NewDatasetVo implements Serializable { private Integer id; @ApiModelProperty(name = "visits",value = "访问次数") private Integer visits; + + @ApiModelProperty(name = "praises_count",value = "点赞数量") + private Integer praisesCount; + + @ApiModelProperty(name = "praised",value = "是否点赞") + private Boolean praised; + @ApiModelProperty(name = "create_by",value = "创建者") private String createBy; @ApiModelProperty(name = "version_desc",value = "版本描述")