Browse Source

修改数据集上传接口

pull/7/head
fanshuai 2 years ago
parent
commit
dd8931eea6
9 changed files with 101 additions and 69 deletions
  1. +3
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java
  2. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsController.java
  3. +11
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/tensorBoard/tensorBoard.java
  4. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java
  5. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
  6. +23
    -20
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java
  7. +3
    -8
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java
  8. +51
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/DatasetVersionVo.java
  9. +6
    -35
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/DatasetVo.java

+ 3
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java View File

@@ -140,10 +140,11 @@ public class DatasetController {
*
* @return 上传结果
*/
@CrossOrigin(origins = "*", allowedHeaders = "*")
@PostMapping("/upload")
@ApiOperation(value = "上传数据集", notes = "根据数据集版本表id上传数据集文件,并将信息存入数据库。")
public AjaxResult uploadDataset(@RequestParam("files") MultipartFile[] files, @RequestParam("dataset_id") Integer datasetId) throws Exception {
return AjaxResult.success(this.datasetService.uploadDataset(files,datasetId));
public AjaxResult uploadDataset(@RequestParam("file") MultipartFile[] files) throws Exception {
return AjaxResult.success(this.datasetService.uploadDataset(files));
}

/**


+ 2
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsController.java View File

@@ -129,8 +129,8 @@ public class ModelsController {

@PostMapping("/upload")
@ApiOperation(value = "上传模型", notes = "根据模型id上传模型文件,并将信息存入数据库。")
public AjaxResult uploadModels(@RequestParam("files") MultipartFile[] files, @RequestParam("models_id") Integer modelsId) throws Exception {
return AjaxResult.success(this.modelsService.uploadModels(files,modelsId));
public AjaxResult uploadModels(@RequestParam("file") MultipartFile[] files, @RequestParam("models_id") Integer modelsId) throws Exception {
return AjaxResult.success(this.modelsService.uploadModels(files));

}



+ 11
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/tensorBoard/tensorBoard.java View File

@@ -0,0 +1,11 @@
package com.ruoyi.platform.controller.tensorBoard;

import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("tensorBoard")
@Api("流水线管理")
public class tensorBoard {
}

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

@@ -72,7 +72,7 @@ DatasetService {

ResponseEntity<InputStreamResource> downloadDataset(Integer id);

List<Map<String, String>> uploadDataset(MultipartFile[] files, Integer id) throws Exception;
List<Map<String, String>> uploadDataset(MultipartFile[] files) throws Exception;

Map uploadDatasetPipeline(DatasetVersion datasetVersion) throws Exception;



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

@@ -70,7 +70,7 @@ public interface ModelsService {



List<Map<String, String>> uploadModels(MultipartFile[] files, Integer id) throws Exception;
List<Map<String, String>> uploadModels(MultipartFile[] files) throws Exception;

Map uploadModelsPipeline(ModelsVersion modelsVersion) throws Exception;



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

@@ -12,6 +12,7 @@ import com.ruoyi.platform.service.DatasetVersionService;
import com.ruoyi.platform.utils.BeansUtils;
import com.ruoyi.platform.utils.FileUtil;
import com.ruoyi.platform.utils.MinioUtil;
import com.ruoyi.platform.vo.DatasetVersionVo;
import com.ruoyi.platform.vo.DatasetVo;
import com.ruoyi.system.api.model.LoginUser;
import io.minio.MinioClient;
@@ -216,20 +217,13 @@ public class DatasetServiceImpl implements DatasetService {
* 上传数据集
*
* @param files 文件
* @param id 注意是dataset_version表的主键
* @param version

* @return 是否成功
*/
@Override
public List<Map<String, String>> uploadDataset(MultipartFile[] files, Integer id) throws Exception {
public List<Map<String, String>> uploadDataset(MultipartFile[] files) throws Exception {
List<Map<String, String>> results = new ArrayList<>();

// 验证模型是否存在
Dataset dataset = this.datasetDao.queryById(id);
if (dataset == null) {
throw new Exception("未找到模型记录");
}

for (MultipartFile file:files){
if (file.isEmpty()) {
throw new Exception("文件为空,无法上传");
@@ -243,7 +237,7 @@ public class DatasetServiceImpl implements DatasetService {
String fileName = file.getOriginalFilename();
Date createTime = new Date();
String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime);
String objectName = "datasets/" + username + "/" + dataset.getName() + "/" + timestamp + "/" + fileName;
String objectName = "datasets/" + username + "/" + timestamp + "/" + fileName;

// 上传文件到MinIO并将记录新增到数据库中
try (InputStream inputStream = file.getInputStream()) {
@@ -327,6 +321,11 @@ public class DatasetServiceImpl implements DatasetService {
@Override
@Transactional
public String insertDatasetAndVersion(DatasetVo datasetVo) throws Exception {
List<DatasetVersionVo> datasetVersionVos = datasetVo.getDatasetVersionVos();
if (datasetVersionVos==null||datasetVersionVos.size()==0){
throw new Exception("数据集版本信息错误");
}

Dataset dataset = new Dataset();
dataset.setName(datasetVo.getName());
dataset.setDescription(datasetVo.getDescription());
@@ -337,17 +336,21 @@ public class DatasetServiceImpl implements DatasetService {
if (datasetInsert == null){
throw new Exception("新增数据集失败");
}
DatasetVersion datasetVersion = new DatasetVersion();
datasetVersion.setDatasetId(datasetInsert.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("新增数据集版本失败");

for (DatasetVersionVo datasetVersionVo :datasetVersionVos){
DatasetVersion datasetVersion = new DatasetVersion();
datasetVersion.setDatasetId(datasetInsert.getId());
datasetVersion.setVersion(datasetVo.getVersion());
datasetVersion.setUrl(datasetVersionVo.getUrl());
datasetVersion.setFileName(datasetVersionVo.getFileName());
datasetVersion.setFileSize(datasetVersionVo.getFileSize());
datasetVersion.setAvailableCluster(datasetVo.getAvailableCluster());
DatasetVersion datasetVersionInsert = datasetVersionService.insert(datasetVersion);
if (datasetVersionInsert == null) {
throw new Exception("新增数据集版本失败");
}
}

return "新增数据集成功";
}



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

@@ -208,19 +208,14 @@ public class ModelsServiceImpl implements ModelsService {
* 上传模型
*
* @param files 文件
* @param id 模型id
* @return 是否成功
*/
@Override
public List<Map<String, String>> uploadModels(MultipartFile[] files, Integer id) throws Exception {
public List<Map<String, String>> uploadModels(MultipartFile[] files) throws Exception {

List<Map<String, String>> results = new ArrayList<>();

// 验证模型是否存在
Models models = this.modelsDao.queryById(id);
if (models == null) {
throw new Exception("未找到模型记录");
}


for (MultipartFile file:files){
if (file.isEmpty()) {
@@ -235,7 +230,7 @@ public class ModelsServiceImpl implements ModelsService {
String fileName = file.getOriginalFilename();
Date createTime = new Date();
String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime);
String objectName = "models/" + username + "/" + models.getName() + "/" + timestamp + "/" + fileName;
String objectName = "models/" + username + "/" + timestamp + "/" + fileName;

// 上传文件到MinIO并将记录新增到数据库中
try (InputStream inputStream = file.getInputStream()) {


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

@@ -0,0 +1,51 @@
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 DatasetVersionVo implements Serializable {

/**
* 数据集存储地址
*/
@ApiModelProperty(name = "url")
private String url;
/**
* 文件名
*/
@ApiModelProperty(name = "file_name")
private String fileName;
/**
* 文件大小
*/
@ApiModelProperty(name = "file_size")
private String fileSize;

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

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

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonNaming;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class DatasetVo implements Serializable {
@@ -29,21 +30,7 @@ public class DatasetVo implements Serializable {
*/
@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;
private List<DatasetVersionVo> datasetVersionVos;
/**
* 可用集群
*/
@@ -98,28 +85,12 @@ public class DatasetVo implements Serializable {
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 List<DatasetVersionVo> getDatasetVersionVos() {
return datasetVersionVos;
}

public void setFileSize(String fileSize) {
this.fileSize = fileSize;
public void setDatasetVersionVos(List<DatasetVersionVo> datasetVersionVos) {
this.datasetVersionVos = datasetVersionVos;
}

public String getAvailableCluster() {


Loading…
Cancel
Save