Browse Source

修改模型数据集分页查询

dev-DXTZYK
chenzhihang 1 year ago
parent
commit
a5ce1a56fe
2 changed files with 59 additions and 50 deletions
  1. +27
    -24
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java
  2. +32
    -26
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java

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

@@ -822,11 +822,8 @@ public class ModelsServiceImpl implements ModelsService {
//拼接查询url //拼接查询url
String modelTagName = modelsVo.getModelTag(); String modelTagName = modelsVo.getModelTag();
String modelTypeName = modelsVo.getModelType(); String modelTypeName = modelsVo.getModelType();
String topic_name = "ci4s-model";
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltag-" + modelTypeName;
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltype-" + modelTypeName;


String url = gitendpoint + "/api/users/" + userInfo.get("login") + "/projects.json?page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&category=manage&topic_name=" + topic_name;
String url = gitendpoint + "/api/users/" + userInfo.get("login") + "/projects.json?category=manage";


String name = modelsVo.getName(); String name = modelsVo.getName();
if (StringUtils.isNotEmpty(name)) { if (StringUtils.isNotEmpty(name)) {
@@ -835,9 +832,11 @@ public class ModelsServiceImpl implements ModelsService {


String req = httpUtils.sendGetWithToken(url, null, token); String req = httpUtils.sendGetWithToken(url, null, token);
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req);
Integer total = (Integer) stringObjectMap.get("count");
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects"); List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");
return new PageImpl<>(convert(projects), pageRequest, total);
List<ModelsVo> collect = convert(projects, "ci4s-model", modelTagName, modelTypeName);
List<ModelsVo> result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()).
collect(Collectors.toList());
return new PageImpl<>(result, pageRequest, collect.size());
} }


@Override @Override
@@ -854,11 +853,9 @@ public class ModelsServiceImpl implements ModelsService {
//拼接查询url //拼接查询url
String modelTagName = modelsVo.getModelTag(); String modelTagName = modelsVo.getModelTag();
String modelTypeName = modelsVo.getModelType(); String modelTypeName = modelsVo.getModelType();
String topic_name = "ci4s-model";
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltag-" + modelTagName;
topic_name = StringUtils.isEmpty(modelTypeName) ? topic_name : topic_name + ",modeltype-" + modelTypeName;


String url = gitendpoint + "/api/projects.json?user_id=" + userId + "&page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&sort_by=praises_count&topic_name=" + topic_name;
String url = gitendpoint + "/api/projects.json?user_id=" + userId + "&sort_by=praises_count";

String name = modelsVo.getName(); String name = modelsVo.getName();
if (StringUtils.isNotEmpty(name)) { if (StringUtils.isNotEmpty(name)) {
url = url + "&search=" + name; url = url + "&search=" + name;
@@ -866,9 +863,11 @@ public class ModelsServiceImpl implements ModelsService {


String req = httpUtils.sendGetWithToken(url, null, token); String req = httpUtils.sendGetWithToken(url, null, token);
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req);
Integer total = (Integer) stringObjectMap.get("total_count");
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects"); List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");
return new PageImpl<>(convert(projects), pageRequest, total);
List<ModelsVo> collect = convert(projects, "ci4s-model", modelTagName, modelTypeName);
List<ModelsVo> result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()).
collect(Collectors.toList());
return new PageImpl<>(result, pageRequest, collect.size());
} }


@Override @Override
@@ -964,8 +963,9 @@ public class ModelsServiceImpl implements ModelsService {
modelDependency1Dao.deleteModelDependency(parentModel); modelDependency1Dao.deleteModelDependency(parentModel);
} }


public List<ModelsVo> convert(List<Map<String, Object>> lst) {
public List<ModelsVo> convert(List<Map<String, Object>> lst, String modelTopic, String modelTagName, String modelTypeName) {
if (lst != null && lst.size() > 0) { if (lst != null && lst.size() > 0) {
List<ModelsVo> result = new ArrayList<>();
List<ModelsVo> newModelVos = ConvertUtil.convertListMapToObjectList(lst, ModelsVo.class); List<ModelsVo> newModelVos = ConvertUtil.convertListMapToObjectList(lst, ModelsVo.class);


for (ModelsVo newModelVo : newModelVos) { for (ModelsVo newModelVo : newModelVos) {
@@ -976,24 +976,27 @@ public class ModelsServiceImpl implements ModelsService {


if (map != null) { if (map != null) {
List<Map<String, Object>> topics = (List<Map<String, Object>>) map.get("topics"); List<Map<String, Object>> topics = (List<Map<String, Object>>) map.get("topics");
if (topics != null) {
topics.forEach(topic -> {
String name = (String) topic.get("name");
if (name != null) {
if (name.startsWith("modeltag-")) {
newModelVo.setModelTag(name.substring("modeltag-".length()));
} else if (name.startsWith("modeltype-")) {
newModelVo.setModelType(name.substring("modeltype-".length()));
if (topics != null && topics.size() > 0 && modelTopic.equals(topics.get(0).get("name"))) {
String modeltag = (String) topics.get(1).get("name");
String modeltype = (String) topics.get(2).get("name");
modeltag = modeltag.substring("modeltag-".length());
modeltype = modeltype.substring("modeltype-".length());
if (StringUtils.isNotEmpty(modelTagName) && !modelTagName.toLowerCase().equals(modeltag)) {
continue;
} }
if (StringUtils.isNotEmpty(modelTypeName) && !modelTypeName.toLowerCase().equals(modeltype)) {
continue;
} }
});
}
newModelVo.setModelTag(modelTagName);
newModelVo.setModelType(modelTypeName);
Map<String, Object> author = (Map<String, Object>) map.get("author"); Map<String, Object> author = (Map<String, Object>) map.get("author");
newModelVo.setCreateBy((String) author.get("name")); newModelVo.setCreateBy((String) author.get("name"));
newModelVo.setOwner((String) author.get("login")); newModelVo.setOwner((String) author.get("login"));
result.add(newModelVo);
} }
} }
return newModelVos;
}
return result;
} }
return new ArrayList<>(); return new ArrayList<>();
} }


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

@@ -10,6 +10,7 @@ import com.ruoyi.platform.service.GitService;
import com.ruoyi.platform.service.NewDatasetService; import com.ruoyi.platform.service.NewDatasetService;
import com.ruoyi.platform.utils.*; import com.ruoyi.platform.utils.*;
import com.ruoyi.platform.vo.GitProjectVo; import com.ruoyi.platform.vo.GitProjectVo;
import com.ruoyi.platform.vo.ModelsVo;
import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.platform.vo.NewDatasetVo;
import com.ruoyi.platform.vo.VersionVo; import com.ruoyi.platform.vo.VersionVo;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
@@ -229,20 +230,21 @@ public class NewDatasetServiceImpl implements NewDatasetService {
// 拼接查询url // 拼接查询url
String datasetTagName = dataset.getDatasetTagName(); String datasetTagName = dataset.getDatasetTagName();
String datasetTypeName = dataset.getDatasetTypeName(); String datasetTypeName = dataset.getDatasetTypeName();
String topic_name = "ci4s-dataset";
topic_name = StringUtils.isEmpty(datasetTagName) ? topic_name : topic_name + ",datatag-" + datasetTagName;
topic_name = StringUtils.isEmpty(datasetTagName) ? topic_name : topic_name + ",datatype-" + datasetTypeName;
String url = gitendpoint + "/api/users/" + (String) userInfo.get("login") + "/projects.json?page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&category=manage&topic_name=" + topic_name;
String name = dataset.getName();


String url = gitendpoint + "/api/users/" + userInfo.get("login") + "/projects.json?category=manage";

String name = dataset.getName();
if (StringUtils.isNotEmpty(name)){ if (StringUtils.isNotEmpty(name)){
url =url + "&search=" + name; url =url + "&search=" + name;
} }
String req = httpUtils.sendGetWithToken(url, null, token); String req = httpUtils.sendGetWithToken(url, null, token);
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req);
Integer total = (Integer) stringObjectMap.get("count");
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects"); List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");
return new PageImpl<>(convert(projects), pageRequest, total);

List<NewDatasetVo> collect = convert(projects, "ci4s-dataset", datasetTagName, datasetTypeName);
List<NewDatasetVo> result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()).
collect(Collectors.toList());
return new PageImpl<>(result, pageRequest, collect.size());
} }


@Override @Override
@@ -257,10 +259,9 @@ public class NewDatasetServiceImpl implements NewDatasetService {
// 拼接查询url // 拼接查询url
String datasetTagName = dataset.getDatasetTagName(); String datasetTagName = dataset.getDatasetTagName();
String datasetTypeName = dataset.getDatasetTypeName(); String datasetTypeName = dataset.getDatasetTypeName();
String topic_name = "ci4s-dataset";
topic_name = StringUtils.isEmpty(datasetTagName) ? topic_name : topic_name + ",datatag-" + datasetTagName;
topic_name = StringUtils.isEmpty(datasetTagName) ? topic_name : topic_name + ",datatype-" + datasetTypeName;
String url = gitendpoint + "/api/projects.json?user_id=" + userId + "&page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&sort_by=praises_count&topic_name=" + topic_name;

String url = gitendpoint + "/api/projects.json?user_id=" + userId + "&sort_by=praises_count";

String name = dataset.getName(); String name = dataset.getName();
if (StringUtils.isNotEmpty(name)){ if (StringUtils.isNotEmpty(name)){
url =url + "&search=" + name; url =url + "&search=" + name;
@@ -268,12 +269,14 @@ public class NewDatasetServiceImpl implements NewDatasetService {


String req = httpUtils.sendGetWithToken(url, null, token); String req = httpUtils.sendGetWithToken(url, null, token);
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req);
Integer total = (Integer) stringObjectMap.get("total_count");
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects"); List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");
if (projects == null) { if (projects == null) {
return new PageImpl<>(new ArrayList<>(), pageRequest, 0); return new PageImpl<>(new ArrayList<>(), pageRequest, 0);
} }
return new PageImpl<>(convert(projects), pageRequest, total);
List<NewDatasetVo> collect = convert(projects, "ci4s-dataset", datasetTagName, datasetTypeName);
List<NewDatasetVo> result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()).
collect(Collectors.toList());
return new PageImpl<>(result, pageRequest, collect.size());
} }


@Override @Override
@@ -422,8 +425,9 @@ public class NewDatasetServiceImpl implements NewDatasetService {






public List<NewDatasetVo> convert(List<Map<String, Object>> lst) {
public List<NewDatasetVo> convert(List<Map<String, Object>> lst, String datasetTopic, String datasetTagName, String datasetTypeName) {
if (lst != null && lst.size() > 0) { if (lst != null && lst.size() > 0) {
List<NewDatasetVo> result = new ArrayList<>();
List<NewDatasetVo> newDatasetVos = ConvertUtil.convertListMapToObjectList(lst, NewDatasetVo.class); List<NewDatasetVo> newDatasetVos = ConvertUtil.convertListMapToObjectList(lst, NewDatasetVo.class);


for (NewDatasetVo newDatasetVo : newDatasetVos) { for (NewDatasetVo newDatasetVo : newDatasetVos) {
@@ -434,26 +438,28 @@ public class NewDatasetServiceImpl implements NewDatasetService {


if (map != null) { if (map != null) {
List<Map<String, Object>> topics = (List<Map<String, Object>>) map.get("topics"); List<Map<String, Object>> topics = (List<Map<String, Object>>) map.get("topics");
if (topics != null) {
topics.forEach(topic -> {
String name = (String) topic.get("name");
if (name != null) {
if (name.startsWith("datatag-")) {
newDatasetVo.setDataTag(name.substring("datatag-".length()));
} else if (name.startsWith("datatype-")) {
newDatasetVo.setDataType(name.substring("datatype-".length()));
if (topics != null && topics.size() > 0 && datasetTopic.equals(topics.get(0).get("name"))) {
String datasettag = (String) topics.get(1).get("name");
String datasetype = (String) topics.get(2).get("name");
datasettag = datasettag.substring("modeltag_".length());
datasetype = datasetype.substring("modeltype_".length());
if (StringUtils.isNotEmpty(datasetTagName) && !datasetTagName.toLowerCase().equals(datasettag)) {
continue;
} }
if (StringUtils.isNotEmpty(datasetTypeName) && !datasetTypeName.toLowerCase().equals(datasetype)) {
continue;
} }
});
}
newDatasetVo.setDataTag(datasetTagName);
newDatasetVo.setDataType(datasetTypeName);


Map<String, Object> author = (Map<String, Object>) map.get("author"); Map<String, Object> author = (Map<String, Object>) map.get("author");
newDatasetVo.setCreateBy((String) author.get("name")); newDatasetVo.setCreateBy((String) author.get("name"));
newDatasetVo.setOwner((String) author.get("login")); newDatasetVo.setOwner((String) author.get("login"));
result.add(newDatasetVo);
} }
} }
return newDatasetVos;
}
return result;
} }
return new ArrayList<>(); return new ArrayList<>();
} }


Loading…
Cancel
Save