Browse Source

数据集模型点赞功能开发

dev-active_learn
chenzhihang 10 months ago
parent
commit
7b3894f82a
6 changed files with 62 additions and 4 deletions
  1. +13
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java
  2. +4
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
  3. +23
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java
  4. +9
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java
  5. +6
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java
  6. +7
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java

+ 13
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java View File

@@ -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));
}
}

+ 4
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java View File

@@ -116,4 +116,8 @@ public interface ModelsService {
void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception;

Map<String, Object> getVersionsCompare(QueryModelMetricsVo queryModelMetricsVo) throws Exception;

String praise(Integer id) throws Exception;

String unpraise(Integer id) throws Exception;
}

+ 23
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java View File

@@ -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<String, Object> 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<ModelsVo> convert(List<Map<String, Object>> lst, String modelTopic, String modelTagName, String modelTypeName) {
if (lst != null && lst.size() > 0) {
List<ModelsVo> result = new ArrayList<>();


+ 9
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java View File

@@ -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<String, Object> stringObjectMap = YamlUtils.loadYamlFile(localPathlocal + ci4sUsername + "/datasets/" + id + "/" + repo + "/" + version + "/dataset.yaml");
String jsonString = JacksonUtil.toJSONString(stringObjectMap);
NewDatasetVo newDatasetVo = JsonUtils.jsonToObject(jsonString, NewDatasetVo.class);
List<VersionVo> versionVos = new ArrayList<VersionVo>();
List<VersionVo> versionVos = new ArrayList<>();
if (fileDetailsAfterGitPull != null && fileDetailsAfterGitPull.size() > 0) {
for (Map<String, Object> 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<String, Object> reqMap = JacksonUtil.parseJSONStr2Map(req);
newDatasetVo.setPraisesCount((Integer) reqMap.get("praises_count"));
newDatasetVo.setPraised((Boolean) reqMap.get("praised"));
return newDatasetVo;
}



+ 6
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java View File

@@ -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<VersionVo> modelVersionVos;



+ 7
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java View File

@@ -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 = "版本描述")


Loading…
Cancel
Save