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 datasetId 数据集ID
* @param files 上传的数据集文件 * @param files 上传的数据集文件
* @param version 版本文件
*
* @return 上传结果 * @return 上传结果
*/ */
@PostMapping("/upload") @PostMapping("/upload")
@ApiOperation(value = "上传数据集", notes = "根据数据集版本表id上传数据集文件,并将信息存入数据库。") @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") @DeleteMapping("/deleteVersion")
@ApiOperation(value = "逻辑删除模型版本", notes = "根据数据集ID和版本逻辑删除模型版本记录。") @ApiOperation(value = "逻辑删除模型版本", notes = "根据数据集ID和版本逻辑删除模型版本记录。")
public AjaxResult deleteModelsVersion(@RequestParam("dataset_id") Integer datasetId,
public AjaxResult deleteDatasetVersion(@RequestParam("dataset_id") Integer datasetId,
@RequestParam("version") String version) { @RequestParam("version") String version) {
return AjaxResult.success(this.datasetVersionService.deleteDatasetVersion(datasetId, 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); 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); 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 * @author Xidaray
* @since 2023-11-28 11:51:22 * @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); 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; 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.DatasetService;
import com.ruoyi.platform.service.DatasetVersionService; import com.ruoyi.platform.service.DatasetVersionService;
import com.ruoyi.platform.utils.BeansUtils; import com.ruoyi.platform.utils.BeansUtils;
import com.ruoyi.platform.utils.FileUtil;
import com.ruoyi.platform.utils.MinioUtil; import com.ruoyi.platform.utils.MinioUtil;
import com.ruoyi.platform.vo.DatasetVo; import com.ruoyi.platform.vo.DatasetVo;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
@@ -35,7 +36,6 @@ import java.io.InputStream;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;


/** /**
* (Dataset)表服务实现类 * (Dataset)表服务实现类
@@ -220,8 +220,8 @@ public class DatasetServiceImpl implements DatasetService {
* @return 是否成功 * @return 是否成功
*/ */
@Override @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); Dataset dataset = this.datasetDao.queryById(id);
@@ -233,32 +233,34 @@ public class DatasetServiceImpl implements DatasetService {
if (file.isEmpty()) { if (file.isEmpty()) {
throw new Exception("文件为空,无法上传"); throw new Exception("文件为空,无法上传");
} }
// 获取文件大小并转换为KB
// 获取文件大小并转换为可读形式
long sizeInBytes = file.getSize(); long sizeInBytes = file.getSize();
double sizeInKB = sizeInBytes / 1024.0;
String formattedSize = FileUtil.formatFileSize(sizeInBytes); // 格式化文件大小


// 其余操作基于 modelsVersionToUse // 其余操作基于 modelsVersionToUse
String username = SecurityUtils.getLoginUser().getUsername(); String username = SecurityUtils.getLoginUser().getUsername();
String fileName = file.getOriginalFilename(); 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并将记录新增到数据库中 // 上传文件到MinIO并将记录新增到数据库中
try (InputStream inputStream = file.getInputStream()) { try (InputStream inputStream = file.getInputStream()) {
minioUtil.uploadObject(bucketName, objectName, inputStream); 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<>(); Map<String, String> fileResult = new HashMap<>();
fileResult.put("fileName", file.getOriginalFilename()); fileResult.put("fileName", file.getOriginalFilename());
fileResult.put("url", objectName); // objectName根据实际情况定义 fileResult.put("url", objectName); // objectName根据实际情况定义
results.put(insertedDatasetversion.getId(), fileResult);
fileResult.put("fileSize", formattedSize);
results.add(fileResult);
} catch (Exception e) { } catch (Exception e) {
throw new Exception("上传数据集失败: " + e.getMessage(), 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 @Override



public void checkDeclaredVersion(DatasetVersion insert) throws Exception { public void checkDeclaredVersion(DatasetVersion insert) throws Exception {
DatasetVersion datasetVersion = datasetVersionDao.queryByDatasetVersion(insert); DatasetVersion datasetVersion = datasetVersionDao.queryByDatasetVersion(insert);
if (datasetVersion != null) { 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 from dataset_version
<where> <where>
state = 1 state = 1
<if test="datasetId != null">
and dataset_id = #{datasetId}
<if test="datasetVersion.datasetId != null">
and dataset_id = #{datasetVersion.datasetId}
</if> </if>
<if test="version != null and version != ''">
and version = #{version}
<if test="datasetVersion.version != null and datasetVersion.version != ''">
and version = #{datasetVersion.version}
</if> </if>
</where> </where>
limit 1 limit 1


Loading…
Cancel
Save