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 63bdb299..41784e5c 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 @@ -822,11 +822,8 @@ public class ModelsServiceImpl implements ModelsService { //拼接查询url String modelTagName = modelsVo.getModelTag(); 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(); if (StringUtils.isNotEmpty(name)) { @@ -835,9 +832,11 @@ public class ModelsServiceImpl implements ModelsService { String req = httpUtils.sendGetWithToken(url, null, token); Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - Integer total = (Integer) stringObjectMap.get("count"); List> projects = (List>) stringObjectMap.get("projects"); - return new PageImpl<>(convert(projects), pageRequest, total); + List collect = convert(projects, "ci4s-model", modelTagName, modelTypeName); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); } @Override @@ -854,11 +853,9 @@ public class ModelsServiceImpl implements ModelsService { //拼接查询url String modelTagName = modelsVo.getModelTag(); 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(); if (StringUtils.isNotEmpty(name)) { url = url + "&search=" + name; @@ -866,9 +863,11 @@ public class ModelsServiceImpl implements ModelsService { String req = httpUtils.sendGetWithToken(url, null, token); Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - Integer total = (Integer) stringObjectMap.get("total_count"); List> projects = (List>) stringObjectMap.get("projects"); - return new PageImpl<>(convert(projects), pageRequest, total); + List collect = convert(projects, "ci4s-model", modelTagName, modelTypeName); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); } @Override @@ -964,8 +963,9 @@ public class ModelsServiceImpl implements ModelsService { modelDependency1Dao.deleteModelDependency(parentModel); } - public List convert(List> lst) { + public List convert(List> lst, String modelTopic, String modelTagName, String modelTypeName) { if (lst != null && lst.size() > 0) { + List result = new ArrayList<>(); List newModelVos = ConvertUtil.convertListMapToObjectList(lst, ModelsVo.class); for (ModelsVo newModelVo : newModelVos) { @@ -976,24 +976,27 @@ public class ModelsServiceImpl implements ModelsService { if (map != null) { List> topics = (List>) 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 author = (Map) map.get("author"); newModelVo.setCreateBy((String) author.get("name")); newModelVo.setOwner((String) author.get("login")); + result.add(newModelVo); } } - return newModelVos; + } + return result; } return 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 6bdd1cbc..07526cb5 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 @@ -10,6 +10,7 @@ import com.ruoyi.platform.service.GitService; import com.ruoyi.platform.service.NewDatasetService; import com.ruoyi.platform.utils.*; import com.ruoyi.platform.vo.GitProjectVo; +import com.ruoyi.platform.vo.ModelsVo; import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.platform.vo.VersionVo; import com.ruoyi.system.api.model.LoginUser; @@ -229,20 +230,21 @@ public class NewDatasetServiceImpl implements NewDatasetService { // 拼接查询url String datasetTagName = dataset.getDatasetTagName(); 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)){ url =url + "&search=" + name; } String req = httpUtils.sendGetWithToken(url, null, token); Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - Integer total = (Integer) stringObjectMap.get("count"); List> projects = (List>) stringObjectMap.get("projects"); - return new PageImpl<>(convert(projects), pageRequest, total); + + List collect = convert(projects, "ci4s-dataset", datasetTagName, datasetTypeName); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); } @Override @@ -257,10 +259,9 @@ public class NewDatasetServiceImpl implements NewDatasetService { // 拼接查询url String datasetTagName = dataset.getDatasetTagName(); 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(); if (StringUtils.isNotEmpty(name)){ url =url + "&search=" + name; @@ -268,12 +269,14 @@ public class NewDatasetServiceImpl implements NewDatasetService { String req = httpUtils.sendGetWithToken(url, null, token); Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - Integer total = (Integer) stringObjectMap.get("total_count"); List> projects = (List>) stringObjectMap.get("projects"); if (projects == null) { return new PageImpl<>(new ArrayList<>(), pageRequest, 0); } - return new PageImpl<>(convert(projects), pageRequest, total); + List collect = convert(projects, "ci4s-dataset", datasetTagName, datasetTypeName); + List result = collect.stream().skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); } @Override @@ -422,8 +425,9 @@ public class NewDatasetServiceImpl implements NewDatasetService { - public List convert(List> lst) { + public List convert(List> lst, String datasetTopic, String datasetTagName, String datasetTypeName) { if (lst != null && lst.size() > 0) { + List result = new ArrayList<>(); List newDatasetVos = ConvertUtil.convertListMapToObjectList(lst, NewDatasetVo.class); for (NewDatasetVo newDatasetVo : newDatasetVos) { @@ -434,26 +438,28 @@ public class NewDatasetServiceImpl implements NewDatasetService { if (map != null) { List> topics = (List>) 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 author = (Map) map.get("author"); newDatasetVo.setCreateBy((String) author.get("name")); newDatasetVo.setOwner((String) author.get("login")); + result.add(newDatasetVo); } } - - return newDatasetVos; + } + return result; } return new ArrayList<>(); }