Browse Source

数据集上传接口修改

pull/7/head
西大锐 1 year ago
parent
commit
cf24bf6371
7 changed files with 34 additions and 28 deletions
  1. +3
    -3
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java
  2. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetVersionController.java
  3. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetVersionDao.java
  4. +3
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java
  5. +19
    -17
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java
  6. +3
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java
  7. +4
    -4
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetVersionDaoMapper.xml

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

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

/**


+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetVersionController.java View File

@@ -113,7 +113,7 @@ public class DatasetVersionController {
*/
@DeleteMapping("/deleteVersion")
@ApiOperation(value = "逻辑删除模型版本", notes = "根据数据集ID和版本逻辑删除模型版本记录。")
public AjaxResult deleteModelsVersion(@RequestParam("dataset_id") Integer datasetId,
public AjaxResult deleteDatasetVersion(@RequestParam("dataset_id") Integer datasetId,
@RequestParam("version") String version) {
return AjaxResult.success(this.datasetVersionService.deleteDatasetVersion(datasetId, version));
}


+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/DatasetVersionDao.java View File

@@ -84,7 +84,7 @@ public interface DatasetVersionDao {

List<DatasetVersion> queryByDatasetId(Integer datasetId);

DatasetVersion queryByDatasetVersion(DatasetVersion datasetVersion);
DatasetVersion queryByDatasetVersion(@Param("datasetVersion") DatasetVersion datasetVersion);

List<DatasetVersion> queryAllByDatasetVersion(@Param("datasetId") Integer datasetId, @Param("version") String version);



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

@@ -18,7 +18,8 @@ import java.util.Map;
* @author Xidaray
* @since 2023-11-28 11:51:22
*/
public interface DatasetService {
public interface
DatasetService {



@@ -71,7 +72,7 @@ public interface DatasetService {

ResponseEntity<InputStreamResource> downloadDataset(Integer id);

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

Map uploadDatasetPipeline(DatasetVersion datasetVersion) throws Exception;



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

@@ -10,6 +10,7 @@ import com.ruoyi.platform.mapper.DatasetVersionDao;
import com.ruoyi.platform.service.DatasetService;
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.DatasetVo;
import com.ruoyi.system.api.model.LoginUser;
@@ -35,7 +36,6 @@ import java.io.InputStream;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;

/**
* (Dataset)表服务实现类
@@ -220,8 +220,8 @@ public class DatasetServiceImpl implements DatasetService {
* @return 是否成功
*/
@Override
public Map uploadDataset(MultipartFile[] files, Integer id, String version) throws Exception {
Map<Integer, Object> results = new HashMap<Integer, Object>();
public List<Map<String, String>> uploadDataset(MultipartFile[] files, Integer id) throws Exception {
List<Map<String, String>> results = new ArrayList<>();

// 验证模型是否存在
Dataset dataset = this.datasetDao.queryById(id);
@@ -233,32 +233,34 @@ public class DatasetServiceImpl implements DatasetService {
if (file.isEmpty()) {
throw new Exception("文件为空,无法上传");
}
// 获取文件大小并转换为KB
// 获取文件大小并转换为可读形式
long sizeInBytes = file.getSize();
double sizeInKB = sizeInBytes / 1024.0;
String formattedSize = FileUtil.formatFileSize(sizeInBytes); // 格式化文件大小

// 其余操作基于 modelsVersionToUse
String username = SecurityUtils.getLoginUser().getUsername();
String fileName = file.getOriginalFilename();
// String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime);
String objectName = "datasets/" + username + "/" + dataset.getName() + "/" + version + "/" + fileName;
Date createTime = new Date();
String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime);
String objectName = "datasets/" + username + "/" + dataset.getName() + "/" + timestamp + "/" + fileName;

// 上传文件到MinIO并将记录新增到数据库中
try (InputStream inputStream = file.getInputStream()) {
minioUtil.uploadObject(bucketName, objectName, inputStream);
DatasetVersion datasetVersion = new DatasetVersion();
datasetVersion.setDatasetId(id);
datasetVersion.setVersion(version);
datasetVersion.setUrl(objectName);
datasetVersion.setFileName(fileName);
datasetVersion.setFileSize(String.valueOf(sizeInKB));
//返回插入结果
DatasetVersion insertedDatasetversion = datasetVersionService.insert(datasetVersion);
// DatasetVersion datasetVersion = new DatasetVersion();
// datasetVersion.setDatasetId(id);
// datasetVersion.setVersion(version);
// datasetVersion.setUrl(objectName);
// datasetVersion.setFileName(fileName);
// datasetVersion.setFileSize(formattedSize);
//
// //返回插入结果
// DatasetVersion insertedDatasetversion = datasetVersionService.insert(datasetVersion);
Map<String, String> fileResult = new HashMap<>();
fileResult.put("fileName", file.getOriginalFilename());
fileResult.put("url", objectName); // objectName根据实际情况定义
results.put(insertedDatasetversion.getId(), fileResult);
fileResult.put("fileSize", formattedSize);
results.add(fileResult);
} catch (Exception e) {
throw new Exception("上传数据集失败: " + e.getMessage(), e);
}


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

@@ -155,6 +155,9 @@ public class DatasetVersionServiceImpl implements DatasetVersionService {
}

@Override



public void checkDeclaredVersion(DatasetVersion insert) throws Exception {
DatasetVersion datasetVersion = datasetVersionDao.queryByDatasetVersion(insert);
if (datasetVersion != null) {


+ 4
- 4
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/DatasetVersionDaoMapper.xml View File

@@ -38,11 +38,11 @@
from dataset_version
<where>
state = 1
<if test="datasetId != null">
and dataset_id = #{datasetId}
<if test="datasetVersion.datasetId != null">
and dataset_id = #{datasetVersion.datasetId}
</if>
<if test="version != null and version != ''">
and version = #{version}
<if test="datasetVersion.version != null and datasetVersion.version != ''">
and version = #{datasetVersion.version}
</if>
</where>
limit 1


Loading…
Cancel
Save