From ba3cf16b38b32382d8d087343a4510c69467a426 Mon Sep 17 00:00:00 2001 From: fanshuai <1141904845@qq.com> Date: Fri, 8 Mar 2024 10:32:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Etag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/dataset/DatasetController.java | 14 ++ .../com/ruoyi/platform/domain/Dataset.java | 16 ++- .../ruoyi/platform/domain/DatasetVersion.java | 12 +- .../platform/service/DatasetService.java | 3 + .../service/impl/DatasetServiceImpl.java | 30 ++++ .../java/com/ruoyi/platform/vo/DatasetVo.java | 132 ++++++++++++++++++ .../java/com/ruoyi/platform/vo/ModelsVo.java | 123 ++++++++++++++++ .../managementPlatform/DatasetDaoMapper.xml | 30 ++-- 8 files changed, 337 insertions(+), 23 deletions(-) create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/DatasetVo.java create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java index ea728f0..0f0d916 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java @@ -5,6 +5,7 @@ import com.ruoyi.platform.domain.Dataset; import com.ruoyi.platform.domain.DatasetVersion; import com.ruoyi.platform.service.DatasetService; import com.ruoyi.platform.service.DatasetVersionService; +import com.ruoyi.platform.vo.DatasetVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -83,6 +84,19 @@ public class DatasetController { } + /** + * 新增数据 + * + * @param datasetVo 实体 + * @return 新增结果 + */ + @PostMapping("/addDatesetAndVesion") + @ApiOperation("添加数据集") + public AjaxResult addDatesetAndVesion(@RequestBody DatasetVo datasetVo) throws Exception { + return AjaxResult.success(this.datasetService.insertDatesetAndVesion(datasetVo)); + + } + /** * 编辑数据 * diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java index 918810d..4de63ad 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java @@ -24,6 +24,8 @@ public class Dataset implements Serializable { @ApiModelProperty(name = "description") private String description; + @ApiModelProperty(name = "range") + private String range; @ApiModelProperty(name = "data_type") private Integer dataType; @ApiModelProperty(name = "data_tag") @@ -87,13 +89,13 @@ public class Dataset implements Serializable { this.description = description; } -// public String getUrl() { -// return url; -// } -// -// public void setUrl(String url) { -// this.url = url; -// } + public String getRange() { + return range; + } + + public void setRange(String range) { + this.range = range; + } public Integer getDataType() { return dataType; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java index b53fb42..74d57d6 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java @@ -23,32 +23,32 @@ public class DatasetVersion implements Serializable { private Integer id; @ApiModelProperty(name = "dataset_id") private Integer datasetId; -/** + /** * 版本 */ @ApiModelProperty(name = "version") private String version; -/** + /** * 数据集存储地址 */ @ApiModelProperty(name = "url") private String url; -/** + /** * 文件名 */ @ApiModelProperty(name = "file_name") private String fileName; -/** + /** * 文件大小 */ @ApiModelProperty(name = "file_size") private String fileSize; -/** + /** * 可用集群 */ @ApiModelProperty(name = "available_cluster") private String availableCluster; -/** + /** * 状态 */ @ApiModelProperty(name = "status") diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java index ae8ad81..6e58b2a 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java @@ -2,6 +2,7 @@ package com.ruoyi.platform.service; import com.ruoyi.platform.domain.Dataset; import com.ruoyi.platform.domain.DatasetVersion; +import com.ruoyi.platform.vo.DatasetVo; import org.springframework.core.io.InputStreamResource; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -74,4 +75,6 @@ public interface DatasetService { Map uploadDatasetPipeline(DatasetVersion datasetVersion) throws Exception; Map getDatasetVersions(Integer datasetId) throws Exception; + + String insertDatesetAndVesion(DatasetVo datasetVo) throws Exception; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java index 5dddd07..7f41c48 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java @@ -12,8 +12,10 @@ import com.ruoyi.platform.service.DatasetService; import com.ruoyi.platform.service.DatasetVersionService; import com.ruoyi.platform.utils.BeansUtils; import com.ruoyi.platform.utils.MinioUtil; +import com.ruoyi.platform.vo.DatasetVo; import com.ruoyi.system.api.model.LoginUser; import io.minio.MinioClient; +import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.InputStreamResource; @@ -25,6 +27,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -315,6 +318,33 @@ public class DatasetServiceImpl implements DatasetService { return versions.stream().collect(Collectors.groupingBy(DatasetVersion::getVersion)); } + @Override + @Transactional + public String insertDatesetAndVesion(DatasetVo datasetVo) throws Exception { + Dataset dataset = new Dataset(); + dataset.setName(datasetVo.getName()); + dataset.setDescription(datasetVo.getDescription()); + dataset.setRange(datasetVo.getRange()); + dataset.setDataType(datasetVo.getDataType()); + dataset.setDataTag(datasetVo.getDataTag()); + Dataset insert = this.insert(dataset); + if (insert == null){ + throw new Exception("新增数据集失败"); + } + DatasetVersion datasetVersion = new DatasetVersion(); + datasetVersion.setDatasetId(insert.getId()); + datasetVersion.setVersion(datasetVo.getVersion()); + datasetVersion.setUrl(datasetVo.getUrl()); + datasetVersion.setFileName(datasetVo.getFileName()); + datasetVersion.setFileSize(datasetVo.getFileSize()); + datasetVersion.setAvailableCluster(datasetVo.getAvailableCluster()); + DatasetVersion datasetVersionInsert = datasetVersionService.insert(datasetVersion); + if (datasetVersionInsert == null) { + throw new Exception("新增数据集失败"); + } + return "新增数据集成功"; + } + private String extractFileName(String urlStr) { return urlStr.substring(urlStr.lastIndexOf('/') + 1); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/DatasetVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/DatasetVo.java new file mode 100644 index 0000000..dabff4a --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/DatasetVo.java @@ -0,0 +1,132 @@ +package com.ruoyi.platform.vo; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; + +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class DatasetVo implements Serializable { + + + @ApiModelProperty(name = "name") + private String name; + + @ApiModelProperty(name = "description") + private String description; + /** + * 是否公开1公开,0私有 + */ + @ApiModelProperty(name = "range") + private String range; + @ApiModelProperty(name = "data_type") + private Integer dataType; + @ApiModelProperty(name = "data_tag") + private Integer dataTag; + /** + * 版本 + */ + @ApiModelProperty(name = "version") + private String version; + /** + * 数据集存储地址 + */ + @ApiModelProperty(name = "url") + private String url; + /** + * 文件名 + */ + @ApiModelProperty(name = "file_name") + private String fileName; + /** + * 文件大小 + */ + @ApiModelProperty(name = "file_size") + private String fileSize; + /** + * 可用集群 + */ + @ApiModelProperty(name = "available_cluster") + private String availableCluster; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getRange() { + return range; + } + + public void setRange(String range) { + this.range = range; + } + + public Integer getDataType() { + return dataType; + } + + public void setDataType(Integer dataType) { + this.dataType = dataType; + } + + public Integer getDataTag() { + return dataTag; + } + + public void setDataTag(Integer dataTag) { + this.dataTag = dataTag; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileSize() { + return fileSize; + } + + public void setFileSize(String fileSize) { + this.fileSize = fileSize; + } + + public String getAvailableCluster() { + return availableCluster; + } + + public void setAvailableCluster(String availableCluster) { + this.availableCluster = availableCluster; + } +} 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 new file mode 100644 index 0000000..f39f4e1 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelsVo.java @@ -0,0 +1,123 @@ +package com.ruoyi.platform.vo; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; + +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class ModelsVo implements Serializable { + + + @ApiModelProperty(name = "name") + private String name; + + // private String version; + @ApiModelProperty(name = "description") + private String description; + + // private String url; + @ApiModelProperty(name = "model_type") + private Integer modelType; + @ApiModelProperty(name = "model_tag") + private Integer modelTag; + /** + * 版本 + */ + @ApiModelProperty(name = "version") + private String version; + /** + * 模型存储地址 + */ + @ApiModelProperty(name = "url") + private String url; + /** + * 文件名 + */ + @ApiModelProperty(name = "file_name") + private String fileName; + /** + * 文件大小 + */ + @ApiModelProperty(name = "file_size") + private String fileSize; + /** + * 状态 + */ + @ApiModelProperty(name = "status") + private Integer status; + + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Integer getModelType() { + return modelType; + } + + public void setModelType(Integer modelType) { + this.modelType = modelType; + } + + public Integer getModelTag() { + return modelTag; + } + + public void setModelTag(Integer modelTag) { + this.modelTag = modelTag; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileSize() { + return fileSize; + } + + public void setFileSize(String fileSize) { + this.fileSize = fileSize; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +} diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetDaoMapper.xml index 227eb9d..ca600fd 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetDaoMapper.xml @@ -6,6 +6,7 @@ + @@ -18,7 +19,7 @@ @@ -26,7 +27,7 @@