add version

This commit is contained in:
fans 2024-01-05 14:36:13 +08:00
parent 70ecdb6167
commit 21876a6d07
27 changed files with 1687 additions and 128 deletions

View File

@ -29,6 +29,9 @@ public class DatasetController {
@Resource
private DatasetService datasetService;
@Resource
private DatasetVersionService datasetVersionService;
/**
* 分页查询
*
@ -95,7 +98,7 @@ public class DatasetController {
/**
* 下载数据集
*
* @param id 主键
* @param id ps:这里的id是dataset_version表的主键
* @return 单条数据
*/
@GetMapping("/download/{id}")
@ -104,6 +107,12 @@ public class DatasetController {
return datasetService.downloadDataset(id);
}
/**
* 上传数据集
*
* @param id ps:这里的id是dataset_version表的主键
* @return 上传结果
*/
@PostMapping("/upload/{id}")
@ApiOperation("上传数据集")
public ResponseEntity<String> uploadDataset(@RequestParam("file") MultipartFile file , @PathVariable("id") Integer id) throws Exception {

View File

@ -0,0 +1,94 @@
package com.ruoyi.platform.controller.dataset;
import com.ruoyi.platform.domain.*;
import com.ruoyi.platform.service.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* (DatasetVersion)表控制层
*
* @author Xidaray
* @since 2024-01-03 16:55:19
*/
@RestController
@RequestMapping("datasetVersion")
@ApiOperation(value = "数据集版本管理")
public class DatasetVersionController {
/**
* 服务对象
*/
@Resource
private DatasetVersionService datasetVersionService;
/**
* 分页查询
*
* @param datasetVersion 筛选条件
* @param page 页数
* @param size 大小
* @return 查询结果
*/
@GetMapping
@ApiOperation("分页查询")
public ResponseEntity<Page<DatasetVersion>> queryByPage(DatasetVersion datasetVersion, int page,int size) {
PageRequest pageRequest = PageRequest.of(page,size);
return ResponseEntity.ok(this.datasetVersionService.queryByPage(datasetVersion, pageRequest));
}
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
@GetMapping("{id}")
@ApiOperation("根据id查询数据集版本")
public ResponseEntity<DatasetVersion> queryById(@PathVariable("id") Integer id) {
return ResponseEntity.ok(this.datasetVersionService.queryById(id));
}
/**
* 新增数据
*
* @param datasetVersion 实体
* @return 新增结果
*/
@PostMapping
@ApiOperation("添加数据集版本")
public ResponseEntity<DatasetVersion> add(DatasetVersion datasetVersion) {
return ResponseEntity.ok(this.datasetVersionService.insert(datasetVersion));
}
/**
* 编辑数据
*
* @param datasetVersion 实体
* @return 编辑结果
*/
@PutMapping
@ApiOperation("编辑数据集版本")
public ResponseEntity<DatasetVersion> edit(DatasetVersion datasetVersion) {
return ResponseEntity.ok(this.datasetVersionService.update(datasetVersion));
}
/**
* 删除数据
*
* @param id 主键
* @return 删除是否成功
*/
@DeleteMapping({"{id}"})
@ApiOperation("删除数据集版本")
public ResponseEntity<String> deleteById(@PathVariable("id") Integer id) {
return ResponseEntity.ok(this.datasetVersionService.removeById(id));
}
}

View File

@ -0,0 +1,88 @@
package com.ruoyi.platform.controller.model;
import com.ruoyi.platform.domain.*;
import com.ruoyi.platform.service.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* (ModelsVersion)表控制层
*
* @author Xidaray
* @since 2024-01-05 08:50:54
*/
@RestController
@RequestMapping("modelsVersion")
public class ModelsVersionController {
/**
* 服务对象
*/
@Resource
private ModelsVersionService modelsVersionService;
/**
* 分页查询
*
* @param modelsVersion 筛选条件
* @param page 分页对象
* @param size 分页对象
* @return 查询结果
*/
@GetMapping
@ApiOperation("分页查询")
public ResponseEntity<Page<ModelsVersion>> queryByPage(ModelsVersion modelsVersion, int page, int size) {
PageRequest pageRequest = PageRequest.of(page,size);
return ResponseEntity.ok(this.modelsVersionService.queryByPage(modelsVersion, pageRequest));
}
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
@GetMapping("{id}")
public ResponseEntity<ModelsVersion> queryById(@PathVariable("id") Integer id) {
return ResponseEntity.ok(this.modelsVersionService.queryById(id));
}
/**
* 新增数据
*
* @param modelsVersion 实体
* @return 新增结果
*/
@PostMapping
public ResponseEntity<ModelsVersion> add(ModelsVersion modelsVersion) {
return ResponseEntity.ok(this.modelsVersionService.insert(modelsVersion));
}
/**
* 编辑数据
*
* @param modelsVersion 实体
* @return 编辑结果
*/
@PutMapping
public ResponseEntity<ModelsVersion> edit(ModelsVersion modelsVersion) {
return ResponseEntity.ok(this.modelsVersionService.update(modelsVersion));
}
/**
* 删除数据
*
* @param id 主键
* @return 删除是否成功
*/
@DeleteMapping("{id}")
public ResponseEntity<String> deleteById(@PathVariable("id") Integer id) {
return ResponseEntity.ok(this.modelsVersionService.removeById(id));
}
}

View File

@ -0,0 +1,92 @@
package com.ruoyi.platform.controller.resources;
import com.ruoyi.platform.domain.*;
import com.ruoyi.platform.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* (ComputingResource)表控制层
*
* @author Xidaray
* @since 2023-11-29 14:13:20
*/
@RestController
@RequestMapping("computingResource")
@Api("计算资源管理")
public class ComputingResourceController {
/**
* 服务对象
*/
@Resource
private ComputingResourceService computingResourceService;
/**
* 分页查询
*
* @param computingResource 筛选条件
* @return 查询结果
*/
@GetMapping
@ApiOperation("分页查询")
public ResponseEntity<Page<ComputingResource>> queryByPage(ComputingResource computingResource, int page, int size) {
PageRequest pageRequest = PageRequest.of(page,size);
return ResponseEntity.ok(this.computingResourceService.queryByPage(computingResource, pageRequest));
}
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
@GetMapping("{id}")
@ApiOperation("根据id查询")
public ResponseEntity<ComputingResource> queryById(@PathVariable("id") Integer id) {
return ResponseEntity.ok(this.computingResourceService.queryById(id));
}
/**
* 新增数据
*
* @param computingResource 实体
* @return 新增结果
*/
@PostMapping
@ApiOperation("新增计算资源")
public ResponseEntity<ComputingResource> add(ComputingResource computingResource) {
return ResponseEntity.ok(this.computingResourceService.insert(computingResource));
}
/**
* 编辑数据
*
* @param computingResource 实体
* @return 编辑结果
*/
@PutMapping
@ApiOperation("编辑计算资源")
public ResponseEntity<ComputingResource> edit(ComputingResource computingResource) {
return ResponseEntity.ok(this.computingResourceService.update(computingResource));
}
/**
* 删除数据
*
* @param id 主键
* @return 删除是否成功
*/
@DeleteMapping("{id}")
@ApiOperation("删除计算资源")
public ResponseEntity<String> deleteById(@PathVariable("id") Integer id) {
return ResponseEntity.ok(this.computingResourceService.removeById(id));
}
}

View File

@ -20,11 +20,11 @@ public class Dataset implements Serializable {
private String name;
private String version;
// private String version;
private String description;
private String url;
// private String url;
private Integer dataType;
/**
@ -65,13 +65,13 @@ public class Dataset implements Serializable {
this.name = name;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
// public String getVersion() {
// return version;
// }
//
// public void setVersion(String version) {
// this.version = version;
// }
public String getDescription() {
return description;
@ -81,13 +81,13 @@ public class Dataset implements Serializable {
this.description = description;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
// public String getUrl() {
// return url;
// }
//
// public void setUrl(String url) {
// this.url = url;
// }
public Integer getDataType() {
return dataType;

View File

@ -0,0 +1,171 @@
package com.ruoyi.platform.domain;
import java.util.Date;
import java.io.Serializable;
/**
* (DatasetVersion)实体类
*
* @author Xidaray
* @since 2024-01-03 16:57:12
*/
public class DatasetVersion implements Serializable {
private static final long serialVersionUID = -96998451993465838L;
/**
* 主键
*/
private Integer id;
private Integer datasetId;
/**
* 版本
*/
private String version;
/**
* 数据集存储地址
*/
private String url;
/**
* 文件名
*/
private String fileName;
/**
* 文件大小
*/
private String fileSize;
/**
* 可用集群
*/
private String availableCluster;
/**
* 状态
*/
private Integer status;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 0失效1生效
*/
private Integer state;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getDatasetId() {
return datasetId;
}
public void setDatasetId(Integer datasetId) {
this.datasetId = datasetId;
}
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;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
}

View File

@ -16,11 +16,11 @@ public class Models implements Serializable {
private String name;
private String version;
// private String version;
private String description;
private String url;
// private String url;
private Integer modelType;
/**
@ -61,13 +61,13 @@ public class Models implements Serializable {
this.name = name;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
// public String getVersion() {
// return version;
// }
//
// public void setVersion(String version) {
// this.version = version;
// }
public String getDescription() {
return description;
@ -77,13 +77,13 @@ public class Models implements Serializable {
this.description = description;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
// public String getUrl() {
// return url;
// }
//
// public void setUrl(String url) {
// this.url = url;
// }
public Integer getModelType() {
return modelType;

View File

@ -0,0 +1,159 @@
package com.ruoyi.platform.domain;
import java.util.Date;
import java.io.Serializable;
/**
* (ModelsVersion)实体类
*
* @author Xidaray
* @since 2024-01-05 09:02:42
*/
public class ModelsVersion implements Serializable {
private static final long serialVersionUID = -20181111893295288L;
/**
* 主键
*/
private Integer id;
private Integer modelsId;
/**
* 版本
*/
private String version;
/**
* 模型存储地址
*/
private String url;
/**
* 文件名
*/
private String fileName;
/**
* 文件大小
*/
private String fileSize;
/**
* 状态
*/
private Integer status;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 0失效1生效
*/
private Integer state;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getModelsId() {
return modelsId;
}
public void setModelsId(Integer modelsId) {
this.modelsId = modelsId;
}
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;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
}

View File

@ -1,6 +1,9 @@
package com.ruoyi.platform.mapper;
import com.ruoyi.platform.domain.Component;
import com.ruoyi.platform.vo.ComponentVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;

View File

@ -1,7 +1,6 @@
package com.ruoyi.platform.mapper;
import com.ruoyi.platform.domain.Dataset;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;

View File

@ -0,0 +1,84 @@
package com.ruoyi.platform.mapper;
import com.ruoyi.platform.domain.DatasetVersion;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List;
/**
* (DatasetVersion)表数据库访问层
*
* @author Xidaray
* @since 2024-01-03 16:57:12
*/
public interface DatasetVersionDao {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
DatasetVersion queryById(Integer id);
/**
* 查询指定行数据
*
* @param datasetVersion 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<DatasetVersion> queryAllByLimit(@Param("datasetVersion") DatasetVersion datasetVersion, @Param("pageable") Pageable pageable);
/**
* 统计总行数
*
* @param datasetVersion 查询条件
* @return 总行数
*/
long count(@Param("datasetVersion") DatasetVersion datasetVersion);
/**
* 新增数据
*
* @param datasetVersion 实例对象
* @return 影响行数
*/
int insert(@Param("datasetVersion") DatasetVersion datasetVersion);
/**
* 批量新增数据MyBatis原生foreach方法
*
* @param entities List<DatasetVersion> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<DatasetVersion> entities);
/**
* 批量新增或按主键更新数据MyBatis原生foreach方法
*
* @param entities List<DatasetVersion> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<DatasetVersion> entities);
/**
* 修改数据
*
* @param datasetVersion 实例对象
* @return 影响行数
*/
int update(@Param("datasetVersion") DatasetVersion datasetVersion);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 影响行数
*/
int deleteById(Integer id);
}

View File

@ -0,0 +1,84 @@
package com.ruoyi.platform.mapper;
import com.ruoyi.platform.domain.ModelsVersion;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List;
/**
* (ModelsVersion)表数据库访问层
*
* @author Xidaray
* @since 2024-01-05 09:02:42
*/
public interface ModelsVersionDao {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
ModelsVersion queryById(Integer id);
/**
* 查询指定行数据
*
* @param modelsVersion 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<ModelsVersion> queryAllByLimit(@Param("modelsVersion") ModelsVersion modelsVersion, @Param("pageable") Pageable pageable);
/**
* 统计总行数
*
* @param modelsVersion 查询条件
* @return 总行数
*/
long count(@Param("modelsVersion") ModelsVersion modelsVersion);
/**
* 新增数据
*
* @param modelsVersion 实例对象
* @return 影响行数
*/
int insert(@Param("modelsVersion") ModelsVersion modelsVersion);
/**
* 批量新增数据MyBatis原生foreach方法
*
* @param entities List<ModelsVersion> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<ModelsVersion> entities);
/**
* 批量新增或按主键更新数据MyBatis原生foreach方法
*
* @param entities List<ModelsVersion> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<ModelsVersion> entities);
/**
* 修改数据
*
* @param modelsVersion 实例对象
* @return 影响行数
*/
int update(@Param("modelsVersion") ModelsVersion modelsVersion);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 影响行数
*/
int deleteById(Integer id);
}

View File

@ -1,8 +1,5 @@
package com.ruoyi.platform.service;
import com.ruoyi.platform.domain.Dataset;
import org.springframework.core.io.InputStreamResource;
import org.springframework.data.domain.Page;

View File

@ -0,0 +1,61 @@
package com.ruoyi.platform.service;
import com.ruoyi.platform.domain.DatasetVersion;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
/**
* (DatasetVersion)表服务接口
*
* @author Xidaray
* @since 2024-01-03 16:57:12
*/
public interface DatasetVersionService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
DatasetVersion queryById(Integer id);
/**
* 分页查询
*
* @param datasetVersion 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
Page<DatasetVersion> queryByPage(DatasetVersion datasetVersion, PageRequest pageRequest);
/**
* 新增数据
*
* @param datasetVersion 实例对象
* @return 实例对象
*/
DatasetVersion insert(DatasetVersion datasetVersion);
/**
* 修改数据
*
* @param datasetVersion 实例对象
* @return 实例对象
*/
DatasetVersion update(DatasetVersion datasetVersion);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Integer id);
String removeById(Integer id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.platform.service;
import com.ruoyi.platform.domain.Models;
import com.ruoyi.platform.domain.ModelsVersion;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
/**
* (ModelsVersion)表服务接口
*
* @author Xidaray
* @since 2024-01-05 09:02:42
*/
public interface ModelsVersionService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
ModelsVersion queryById(Integer id);
/**
* 分页查询
*
* @param modelsVersion 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
Page<ModelsVersion> queryByPage(ModelsVersion modelsVersion, PageRequest pageRequest);
/**
* 新增数据
*
* @param modelsVersion 实例对象
* @return 实例对象
*/
ModelsVersion insert(ModelsVersion modelsVersion);
/**
* 修改数据
*
* @param modelsVersion 实例对象
* @return 实例对象
*/
ModelsVersion update(ModelsVersion modelsVersion);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Integer id);
String removeById(Integer id);
}

View File

@ -2,17 +2,17 @@ package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.Component;
import com.ruoyi.platform.mapper.ComponentDao;
import com.ruoyi.platform.service.ComponentService;
import com.ruoyi.platform.mapper.ComponentDao;
import com.ruoyi.platform.utils.ConvertUtil;
import com.ruoyi.platform.vo.ComponentVo;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;

View File

@ -3,8 +3,11 @@ package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.Dataset;
import com.ruoyi.platform.domain.DatasetVersion;
import com.ruoyi.platform.mapper.DatasetDao;
import com.ruoyi.platform.mapper.DatasetVersionDao;
import com.ruoyi.platform.service.DatasetService;
import com.ruoyi.platform.service.DatasetVersionService;
import com.ruoyi.platform.utils.MinioUtil;
import com.ruoyi.system.api.model.LoginUser;
import io.minio.MinioClient;
@ -40,6 +43,12 @@ public class DatasetServiceImpl implements DatasetService {
private DatasetDao datasetDao;
private DatasetService datasetService;
@Resource
private DatasetVersionDao datasetVersionDao;
@Resource
private DatasetVersionService datasetVersionService;
private MinioClient minioClient;
@ -163,13 +172,13 @@ public class DatasetServiceImpl implements DatasetService {
@Override
public ResponseEntity<InputStreamResource> downloadDataset(Integer id) {
Dataset dataset = this.datasetDao.queryById(id);
if (dataset == null) {
DatasetVersion datasetVersion = this.datasetVersionDao.queryById(id);
if (datasetVersion == null) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
}
// 从数据库中获取存储路径即MinIO中的对象名称
String objectName = dataset.getUrl();
String objectName = datasetVersion.getUrl();
if(objectName == null || objectName.isEmpty() ){
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
@ -196,7 +205,7 @@ public class DatasetServiceImpl implements DatasetService {
* 上传数据集
*
* @param file 文件
* @param id 主键
* @param id 注意是dataset_version表的主键
* @return 是否成功
*/
@Override
@ -204,7 +213,14 @@ public class DatasetServiceImpl implements DatasetService {
if(file.isEmpty()){
throw new Exception("文件为空,无法上传");
}
Dataset dataset = this.datasetDao.queryById(id);
//拿到dataset表的id去查数据集名字
DatasetVersion datasetVersion = this.datasetVersionDao.queryById(id);
if (datasetVersion == null) {
throw new Exception("未找到数据集版本记录");
}
Integer datasetID = datasetVersion.getDatasetId();
Dataset dataset = this.datasetDao.queryById(datasetID);
if (dataset == null) {
throw new Exception("未找到数据集记录");
}
@ -212,20 +228,22 @@ public class DatasetServiceImpl implements DatasetService {
LoginUser loginUser = SecurityUtils.getLoginUser();
//拼接objectName
String username = loginUser.getUsername();
String version = dataset.getVersion();
Date createTime = dataset.getCreateTime();
String version = datasetVersion.getVersion();
Date createTime = datasetVersion.getCreateTime();
String fileName = file.getOriginalFilename();
//格式化日期为时间戳字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmmss");
String timestamp = sdf.format(createTime);
String objectName = "datasets/" + username + "/" + dataset.getName() + "-" + timestamp + "/" + version + "/" + file.getOriginalFilename();
String objectName = "datasets/" + username + "/" + dataset.getName() + "-" + timestamp + "/" + version + "/" + fileName;
// 上传文件到MinIO
try (InputStream inputStream = file.getInputStream()) {
minioUtil.uploadObject(bucketName, objectName, inputStream);
// 更新数据库url记录
dataset.setUrl(objectName);
update(dataset);
// 更新数据库中dataset_version表url记录
datasetVersion.setUrl(objectName);
datasetVersion.setFileName(fileName);
datasetVersionDao.update(datasetVersion);
return "数据集成功上传到: " + objectName;
} catch (Exception e) {
throw new Exception("上传到MinIO失败: " + e.getMessage(), e);

View File

@ -0,0 +1,120 @@
package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.DatasetVersion;
import com.ruoyi.platform.mapper.DatasetVersionDao;
import com.ruoyi.platform.service.DatasetVersionService;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
/**
* (DatasetVersion)表服务实现类
*
* @author Xidaray
* @since 2024-01-03 16:57:12
*/
@Service("datasetVersionService")
public class DatasetVersionServiceImpl implements DatasetVersionService {
@Resource
private DatasetVersionDao datasetVersionDao;
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
@Override
public DatasetVersion queryById(Integer id) {
return this.datasetVersionDao.queryById(id);
}
/**
* 分页查询
*
* @param datasetVersion 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
@Override
public Page<DatasetVersion> queryByPage(DatasetVersion datasetVersion, PageRequest pageRequest) {
long total = this.datasetVersionDao.count(datasetVersion);
return new PageImpl<>(this.datasetVersionDao.queryAllByLimit(datasetVersion, pageRequest), pageRequest, total);
}
/**
* 新增数据
*
* @param datasetVersion 实例对象
* @return 实例对象
*/
@Override
public DatasetVersion insert(DatasetVersion datasetVersion) {
LoginUser loginUser = SecurityUtils.getLoginUser();
datasetVersion.setCreateBy(loginUser.getUsername());
datasetVersion.setUpdateBy(loginUser.getUsername());
datasetVersion.setUpdateTime(new Date());
datasetVersion.setCreateTime(new Date());
datasetVersion.setState(1);
this.datasetVersionDao.insert(datasetVersion);
return datasetVersion;
}
/**
* 修改数据
*
* @param datasetVersion 实例对象
* @return 实例对象
*/
@Override
public DatasetVersion update(DatasetVersion datasetVersion) {
int currentState = datasetVersion.getState();
if (currentState == 0){
throw new RuntimeException("数据集版本已被删除,无法更新。");
}
LoginUser loginUser = SecurityUtils.getLoginUser();
datasetVersion.setUpdateBy(loginUser.getUsername());
datasetVersion.setUpdateTime(new Date());
this.datasetVersionDao.update(datasetVersion);
return this.queryById(datasetVersion.getId());
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Integer id) {
return this.datasetVersionDao.deleteById(id) > 0;
}
@Override
public String removeById(Integer id) {
DatasetVersion datasetVersion = this.datasetVersionDao.queryById(id);
if (datasetVersion == null){
return "数据集版本信息不存在";
}
//判断权限只有admin和创建者本身可以删除该数据集版本信息
LoginUser loginUser = SecurityUtils.getLoginUser();
String username = loginUser.getUsername();
String createdBy = datasetVersion.getCreateBy();
if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){
return "无权限删除该数据集版本";
}
datasetVersion.setState(0);
return this.datasetVersionDao.update(datasetVersion)>0?"删除数据集版本成功":"删除数据集版本失败";
}
}

View File

@ -10,7 +10,6 @@ import com.ruoyi.platform.utils.HttpUtils;
import com.ruoyi.platform.utils.JsonUtils;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
@ -18,7 +17,10 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* (ExperimentIns)表服务实现类
@ -30,6 +32,14 @@ import java.util.*;
public class ExperimentInsServiceImpl implements ExperimentInsService {
@Resource
private ExperimentInsDao experimentInsDao;
@Resource
private ExperimentDao experimentDao;
@Resource
private WorkflowService
workflowService;
@Value("${argo.url}")
private String argoUrl;

View File

@ -13,7 +13,6 @@ import com.ruoyi.platform.utils.JsonUtils;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.domain.Page;
@ -39,7 +38,9 @@ public class ExperimentServiceImpl implements ExperimentService {
@Resource
@Lazy
private WorkflowService workflowService;
@Resource
@Lazy
private ExperimentInsService experimentInsService;
@Value("${argo.url}")

View File

@ -2,7 +2,9 @@ package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.Models;
import com.ruoyi.platform.domain.ModelsVersion;
import com.ruoyi.platform.mapper.ModelsDao;
import com.ruoyi.platform.mapper.ModelsVersionDao;
import com.ruoyi.platform.service.ModelsService;
import com.ruoyi.platform.utils.MinioUtil;
import com.ruoyi.system.api.model.LoginUser;
@ -37,6 +39,8 @@ import java.util.Date;
public class ModelsServiceImpl implements ModelsService {
@Resource
private ModelsDao modelsDao;
@Resource
private ModelsVersionDao modelsVersionDao;
private MinioClient minioClient;
@ -115,7 +119,6 @@ public class ModelsServiceImpl implements ModelsService {
LoginUser loginUser = SecurityUtils.getLoginUser();
models.setUpdateBy(loginUser.getUsername());
models.setUpdateTime(new Date());
this.modelsDao.update(models);
return this.queryById(models.getId());
}
@ -153,18 +156,18 @@ public class ModelsServiceImpl implements ModelsService {
/**
* 下载模型
*
* @param id 主键
* @param id models_version表的主键
* @return 文件内容
*/
@Override
public ResponseEntity<InputStreamResource> downloadModels(Integer id) {
Models models = this.modelsDao.queryById(id);
if (models == null) {
ModelsVersion modelsVersion = this.modelsVersionDao.queryById(id);
if (modelsVersion == null) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
}
// 从数据库中获取存储路径即MinIO中的对象名称
String objectName = models.getUrl();
String objectName = modelsVersion.getUrl();
if(objectName == null || objectName.isEmpty() ){
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
@ -186,33 +189,49 @@ public class ModelsServiceImpl implements ModelsService {
}
}
/**
* 上传模型
*
* @param file 文件
* @param id 注意是models_version表的主键
* @return 是否成功
*/
@Override
public String uploadModels(MultipartFile file, Integer id) throws Exception{
if(file.isEmpty()){
throw new Exception("文件为空,无法上传");
}
Models models = this.modelsDao.queryById(id);
//拿到models表的id去查模型名字
ModelsVersion modelsVersion = this.modelsVersionDao.queryById(id);
if (modelsVersion == null){
throw new Exception("未找到模型版本记录");
}
Integer modelsId = modelsVersion.getModelsId();
Models models = this.modelsDao.queryById(modelsId);
if (models == null) {
throw new Exception("未找到模型记录");
}
//得到用户名
LoginUser loginUser = SecurityUtils.getLoginUser();
String version = models.getVersion();
String version = modelsVersion.getVersion();
String username = loginUser.getUsername();
Date createTime = models.getCreateTime();
String fileName = file.getOriginalFilename();
//格式化日期为时间戳字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmmss");
String timestamp = sdf.format(createTime);
//拼接objectName
String objectName = "models/" + username + "/" + models.getName() + "-" + timestamp + "/" + version + "/" + file.getOriginalFilename();
String objectName = "models/" + username + "/" + models.getName() + "-" + timestamp + "/" + version + "/" + fileName;
// 上传文件到MinIO
try (InputStream inputStream = file.getInputStream()) {
minioUtil.uploadObject(bucketName, objectName, inputStream);
// 更新数据库url
models.setUrl(objectName);
update(models);
modelsVersion.setUrl(objectName);
modelsVersion.setFileName(fileName);
modelsVersionDao.update(modelsVersion);
return "模型成功上传到: " + objectName;
} catch (Exception e) {
throw new Exception("上传到MinIO失败: " + e.getMessage(), e);

View File

@ -0,0 +1,125 @@
package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.ModelsVersion;
import com.ruoyi.platform.mapper.ModelsDao;
import com.ruoyi.platform.mapper.ModelsVersionDao;
import com.ruoyi.platform.service.ModelsVersionService;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
/**
* (ModelsVersion)表服务实现类
*
* @author Xidaray
* @since 2024-01-05 09:02:42
*/
@Service("modelsVersionService")
public class ModelsVersionServiceImpl implements ModelsVersionService {
@Resource
private ModelsVersionDao modelsVersionDao;
@Resource
private ModelsDao modelsDao;
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
@Override
public ModelsVersion queryById(Integer id) {
return this.modelsVersionDao.queryById(id);
}
/**
* 分页查询
*
* @param modelsVersion 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
@Override
public Page<ModelsVersion> queryByPage(ModelsVersion modelsVersion, PageRequest pageRequest) {
long total = this.modelsVersionDao.count(modelsVersion);
return new PageImpl<>(this.modelsVersionDao.queryAllByLimit(modelsVersion, pageRequest), pageRequest, total);
}
/**
* 新增数据
*
* @param modelsVersion 实例对象
* @return 实例对象
*/
@Override
public ModelsVersion insert(ModelsVersion modelsVersion) {
LoginUser loginUser = SecurityUtils.getLoginUser();
modelsVersion.setCreateBy(loginUser.getUsername());
modelsVersion.setUpdateBy(loginUser.getUsername());
modelsVersion.setUpdateTime(new Date());
modelsVersion.setCreateTime(new Date());
modelsVersion.setState(1);
this.modelsVersionDao.insert(modelsVersion);
return modelsVersion;
}
/**
* 修改数据
*
* @param modelsVersion 实例对象
* @return 实例对象
*/
@Override
public ModelsVersion update(ModelsVersion modelsVersion) {
int currentState = modelsVersion.getState();
if(currentState == 0){
throw new RuntimeException("模型版本已被删除,无法更新。");
}
LoginUser loginUser = SecurityUtils.getLoginUser();
modelsVersion.setUpdateBy(loginUser.getUsername());
modelsVersion.setUpdateTime(new Date());
this.modelsVersionDao.update(modelsVersion);
return this.queryById(modelsVersion.getId());
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Integer id) {
return this.modelsVersionDao.deleteById(id) > 0;
}
@Override
public String removeById(Integer id) {
ModelsVersion modelsVersion = this.modelsVersionDao.queryById(id);
if (modelsVersion == null){
return "模型版本信息不存在";
}
//判断权限只有admin和创建者本身可以删除该数据集
LoginUser loginUser = SecurityUtils.getLoginUser();
String username = loginUser.getUsername();
String createdBy = modelsVersion.getCreateBy();
if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){
return "无权限删除该模型版本信息";
}
modelsVersion.setState(0);
return this.modelsVersionDao.update(modelsVersion)>0?"删除成功":"删除失败";
}
}

View File

@ -5,9 +5,7 @@
<resultMap type="com.ruoyi.platform.domain.Dataset" id="DatasetMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="version" column="version" jdbcType="VARCHAR"/>
<result property="description" column="description" jdbcType="VARCHAR"/>
<result property="url" column="url" jdbcType="VARCHAR"/>
<result property="dataType" column="data_type" jdbcType="INTEGER"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@ -19,7 +17,7 @@
<!--查询单个-->
<select id="queryById" resultMap="DatasetMap">
select
id,name,version,description,url,data_type,create_by,create_time,update_by,update_time,state
id,name,description,data_type,create_by,create_time,update_by,update_time,state
from dataset
where id = #{id} and state = 1
</select>
@ -27,7 +25,7 @@
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="DatasetMap">
select
id,name,version,description,url,data_type,create_by,create_time,update_by,update_time,state
id,name,description,data_type,create_by,create_time,update_by,update_time,state
from dataset
<where>
state = 1
@ -37,15 +35,9 @@
<if test="dataset.name != null and dataset.name != ''">
and name = #{dataset.name}
</if>
<if test="dataset.version != null and dataset.version != ''">
and version = #{dataset.version}
</if>
<if test="dataset.description != null and dataset.description != ''">
and description = #{dataset.description}
</if>
<if test="dataset.url != null and dataset.url != ''">
and url = #{dataset.url}
</if>
<if test="dataset.dataType != null">
and data_type = #{dataset.dataType}
</if>
@ -80,15 +72,9 @@
<if test="dataset.name != null and dataset.name != ''">
and name = #{dataset.name}
</if>
<if test="dataset.version != null and dataset.version != ''">
and version = #{dataset.version}
</if>
<if test="dataset.description != null and dataset.description != ''">
and description = #{dataset.description}
</if>
<if test="dataset.url != null and dataset.url != ''">
and url = #{dataset.url}
</if>
<if test="dataset.dataType != null">
and data_type = #{dataset.dataType}
</if>
@ -112,26 +98,26 @@
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into dataset(name,version,description,url,data_type,create_by,create_time,update_by,update_time,state)
values (#{dataset.name},#{dataset.version},#{dataset.description},#{dataset.url},#{dataset.dataType},#{dataset.createBy},#{dataset.createTime},#{dataset.updateBy},#{dataset.updateTime},#{dataset.state})
insert into dataset(name,description,data_type,create_by,create_time,update_by,update_time,state)
values (#{dataset.name},#{dataset.description},#{dataset.dataType},#{dataset.createBy},#{dataset.createTime},#{dataset.updateBy},#{dataset.updateTime},#{dataset.state})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into dataset(nameversiondescriptionurldata_typecreate_bycreate_timeupdate_byupdate_timestate)
insert into dataset(name,description,data_type,create_by,create_time,update_by,update_time,state)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.name}#{entity.version}#{entity.description}#{entity.url}#{entity.dataType}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
(#{entity.name}#{entity.description}#{entity.dataType}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into dataset(nameversiondescriptionurldata_typecreate_bycreate_timeupdate_byupdate_timestate)
insert into dataset(name,description,data_type,create_by,create_time,update_by,update_time,state)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.name}#{entity.version}#{entity.description}#{entity.url}#{entity.dataType}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
(#{entity.name}#{entity.description}#{entity.dataType}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
</foreach>
on duplicate key update
name = values(name)version = values(version)description = values(description)url = values(url)data_type = values(data_type)create_by = values(create_by)create_time = values(create_time)update_by = values(update_by)update_time = values(update_time)state = values(state)
name = values(name)description = values(description)data_type = values(data_type)create_by = values(create_by)create_time = values(create_time)update_by = values(update_by)update_time = values(update_time)state = values(state)
</insert>
<!--通过主键修改数据-->
@ -141,15 +127,9 @@ name = values(name)version = values(version)description = values(description)url
<if test="dataset.name != null and dataset.name != ''">
name = #{dataset.name},
</if>
<if test="dataset.version != null and dataset.version != ''">
version = #{dataset.version},
</if>
<if test="dataset.description != null and dataset.description != ''">
description = #{dataset.description},
</if>
<if test="dataset.url != null and dataset.url != ''">
url = #{dataset.url},
</if>
<if test="dataset.dataType != null">
data_type = #{dataset.dataType},
</if>
@ -172,11 +152,9 @@ name = values(name)version = values(version)description = values(description)url
where id = #{dataset.id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from dataset where id = #{id}
</delete>
</mapper>

View File

@ -0,0 +1,208 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.platform.mapper.DatasetVersionDao">
<resultMap type="com.ruoyi.platform.domain.DatasetVersion" id="DatasetVersionMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="datasetId" column="dataset_id" jdbcType="INTEGER"/>
<result property="version" column="version" jdbcType="VARCHAR"/>
<result property="url" column="url" jdbcType="VARCHAR"/>
<result property="fileName" column="file_name" jdbcType="VARCHAR"/>
<result property="fileSize" column="file_size" jdbcType="VARCHAR"/>
<result property="availableCluster" column="available_cluster" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="state" column="state" jdbcType="INTEGER"/>
</resultMap>
<!--查询单个-->
<select id="queryById" resultMap="DatasetVersionMap">
select
id,dataset_id,version,url,file_name,file_size,available_cluster,status,create_by,create_time,update_by,update_time,state
from dataset_version
where id = #{id} and state = 1
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="DatasetVersionMap">
select
id,dataset_id,version,url,file_name,file_size,available_cluster,status,create_by,create_time,update_by,update_time,state
from dataset_version
<where>
state = 1
<if test="datasetVersion.id != null">
and id = #{datasetVersion.id}
</if>
<if test="datasetVersion.datasetId != null">
and dataset_id = #{datasetVersion.datasetId}
</if>
<if test="datasetVersion.version != null and datasetVersion.version != ''">
and version = #{datasetVersion.version}
</if>
<if test="datasetVersion.url != null and datasetVersion.url != ''">
and url = #{datasetVersion.url}
</if>
<if test="datasetVersion.fileName != null and datasetVersion.fileName != ''">
and file_name = #{datasetVersion.fileName}
</if>
<if test="datasetVersion.fileSize != null and datasetVersion.fileSize != ''">
and file_size = #{datasetVersion.fileSize}
</if>
<if test="datasetVersion.availableCluster != null and datasetVersion.availableCluster != ''">
and available_cluster = #{datasetVersion.availableCluster}
</if>
<if test="datasetVersion.status != null">
and status = #{datasetVersion.status}
</if>
<if test="datasetVersion.createBy != null and datasetVersion.createBy != ''">
and create_by = #{datasetVersion.createBy}
</if>
<if test="datasetVersion.createTime != null">
and create_time = #{datasetVersion.createTime}
</if>
<if test="datasetVersion.updateBy != null and datasetVersion.updateBy != ''">
and update_by = #{datasetVersion.updateBy}
</if>
<if test="datasetVersion.updateTime != null">
and update_time = #{datasetVersion.updateTime}
</if>
<if test="datasetVersion.state != null">
and state = #{datasetVersion.state}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
<!--统计总行数-->
<select id="count" resultType="java.lang.Long">
select count(1)
from dataset_version
<where>
state = 1
<if test="datasetVersion.id != null">
and id = #{datasetVersion.id}
</if>
<if test="datasetVersion.datasetId != null">
and dataset_id = #{datasetVersion.datasetId}
</if>
<if test="datasetVersion.version != null and datasetVersion.version != ''">
and version = #{datasetVersion.version}
</if>
<if test="datasetVersion.url != null and datasetVersion.url != ''">
and url = #{datasetVersion.url}
</if>
<if test="datasetVersion.fileName != null and datasetVersion.fileName != ''">
and file_name = #{datasetVersion.fileName}
</if>
<if test="datasetVersion.fileSize != null and datasetVersion.fileSize != ''">
and file_size = #{datasetVersion.fileSize}
</if>
<if test="datasetVersion.availableCluster != null and datasetVersion.availableCluster != ''">
and available_cluster = #{datasetVersion.availableCluster}
</if>
<if test="datasetVersion.status != null">
and status = #{datasetVersion.status}
</if>
<if test="datasetVersion.createBy != null and datasetVersion.createBy != ''">
and create_by = #{datasetVersion.createBy}
</if>
<if test="datasetVersion.createTime != null">
and create_time = #{datasetVersion.createTime}
</if>
<if test="datasetVersion.updateBy != null and datasetVersion.updateBy != ''">
and update_by = #{datasetVersion.updateBy}
</if>
<if test="datasetVersion.updateTime != null">
and update_time = #{datasetVersion.updateTime}
</if>
<if test="datasetVersion.state != null">
and state = #{datasetVersion.state}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into dataset_version(dataset_id,version,url,file_name,file_size,available_cluster,status,create_by,create_time,update_by,update_time,state)
values (#{datasetVersion.datasetId},#{datasetVersion.version},#{datasetVersion.url},#{datasetVersion.fileName},#{datasetVersion.fileSize},#{datasetVersion.availableCluster},#{datasetVersion.status},#{datasetVersion.createBy},#{datasetVersion.createTime},#{datasetVersion.updateBy},#{datasetVersion.updateTime},#{datasetVersion.state})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into dataset_version(dataset_idversionurlfile_namefile_sizeavailable_clusterstatuscreate_bycreate_timeupdate_byupdate_timestate)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.datasetId},#{entity.version},#{entity.url},#{entity.fileName},#{entity.fileSize},#{entity.availableCluster},#{entity.status},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into dataset_version(dataset_idversionurlfile_namefile_sizeavailable_clusterstatuscreate_bycreate_timeupdate_byupdate_timestate)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.datasetId},#{entity.version},#{entity.url},#{entity.fileName},#{entity.fileSize},#{entity.availableCluster},#{entity.status},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})
</foreach>
on duplicate key update
dataset_id = values(dataset_id)version = values(version)url = values(url)file_name = values(file_name)file_size = values(file_size)available_cluster = values(available_cluster)status = values(status)create_by = values(create_by)create_time = values(create_time)update_by = values(update_by)update_time = values(update_time)state = values(state)
</insert>
<!--通过主键修改数据-->
<update id="update">
update dataset_version
<set>
<if test="datasetVersion.id != null">
id = #{datasetVersion.id},
</if>
<if test="datasetVersion.datasetId != null">
dataset_id = #{datasetVersion.datasetId},
</if>
<if test="datasetVersion.version != null and datasetVersion.version != ''">
version = #{datasetVersion.version},
</if>
<if test="datasetVersion.url != null and datasetVersion.url != ''">
url = #{datasetVersion.url},
</if>
<if test="datasetVersion.fileName != null and datasetVersion.fileName != ''">
file_name = #{datasetVersion.fileName},
</if>
<if test="datasetVersion.fileSize != null and datasetVersion.fileSize != ''">
file_size = #{datasetVersion.fileSize},
</if>
<if test="datasetVersion.availableCluster != null and datasetVersion.availableCluster != ''">
available_cluster = #{datasetVersion.availableCluster},
</if>
<if test="datasetVersion.status != null">
status = #{datasetVersion.status},
</if>
<if test="datasetVersion.createBy != null and datasetVersion.createBy != ''">
create_by = #{datasetVersion.createBy},
</if>
<if test="datasetVersion.createTime != null">
create_time = #{datasetVersion.createTime},
</if>
<if test="datasetVersion.updateBy != null and datasetVersion.updateBy != ''">
update_by = #{datasetVersion.updateBy},
</if>
<if test="datasetVersion.updateTime != null">
update_time = #{datasetVersion.updateTime},
</if>
<if test="datasetVersion.state != null">
state = #{datasetVersion.state}
</if>
</set>
where id = #{datasetVersion.id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from dataset_version where id = #{id}
</delete>
</mapper>

View File

@ -5,9 +5,7 @@
<resultMap type="com.ruoyi.platform.domain.Models" id="ModelsMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="version" column="version" jdbcType="VARCHAR"/>
<result property="description" column="description" jdbcType="VARCHAR"/>
<result property="url" column="url" jdbcType="VARCHAR"/>
<result property="modelType" column="model_type" jdbcType="INTEGER"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@ -19,7 +17,7 @@
<!--查询单个-->
<select id="queryById" resultMap="ModelsMap">
select
id,name,version,description,url,model_type,create_by,create_time,update_by,update_time,state
id, name, description, model_type, create_by, create_time, update_by, update_time, state
from models
where id = #{id} and state = 1
</select>
@ -27,7 +25,7 @@
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="ModelsMap">
select
id,name,version,description,url,model_type,create_by,create_time,update_by,update_time,state
id, name, description, model_type, create_by, create_time, update_by, update_time, state
from models
<where>
state = 1
@ -37,15 +35,9 @@
<if test="models.name != null and models.name != ''">
and name = #{models.name}
</if>
<if test="models.version != null and models.version != ''">
and version = #{models.version}
</if>
<if test="models.description != null and models.description != ''">
and description = #{models.description}
</if>
<if test="models.url != null and models.url != ''">
and url = #{models.url}
</if>
<if test="models.modelType != null">
and model_type = #{models.modelType}
</if>
@ -80,15 +72,9 @@
<if test="models.name != null and models.name != ''">
and name = #{models.name}
</if>
<if test="models.version != null and models.version != ''">
and version = #{models.version}
</if>
<if test="models.description != null and models.description != ''">
and description = #{models.description}
</if>
<if test="models.url != null and models.url != ''">
and url = #{models.url}
</if>
<if test="models.modelType != null">
and model_type = #{models.modelType}
</if>
@ -112,47 +98,45 @@
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into models(name,version,description,url,model_type,create_by,create_time,update_by,update_time,state)
values (#{models.name},#{models.version},#{models.description},#{models.url},#{models.modelType},#{models.createBy},#{models.createTime},#{models.updateBy},#{models.updateTime},#{models.state})
insert into models(name, description, model_type, create_by, create_time, update_by, update_time, state)
values (#{models.name}, #{models.description}, #{models.modelType}, #{models.createBy}, #{models.createTime}, #{models.updateBy}, #{models.updateTime}, #{models.state})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into models(name,version,description,url,model_type,create_by,create_time,update_by,update_time,state)
insert into models(name, description, model_type, create_by, create_time, update_by, update_time, state)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.name}#{entity.version}#{entity.description}#{entity.url}#{entity.modelType}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
(#{entity.name}, #{entity.description}, #{entity.modelType}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.state})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into models(name,version,description,url,model_type,create_by,create_time,update_by,update_time,state)
insert into models(name, description, model_type, create_by, create_time, update_by, update_time, state)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.name}#{entity.version}#{entity.description}#{entity.url}#{entity.modelType}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
(#{entity.name}, #{entity.description}, #{entity.modelType}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.state})
</foreach>
on duplicate key update
name = values(name)version = values(version)description = values(description)url = values(url)model_type = values(model_type)create_by = values(create_by)create_time = values(create_time)update_by = values(update_by)update_time = values(update_time)state = values(state)
name = values(name),
description = values(description),
model_type = values(model_type),
create_by = values(create_by),
create_time = values(create_time),
update_by = values(update_by),
update_time = values(update_time),
state = values(state)
</insert>
<!--通过主键修改数据-->
<update id="update">
update models
<set>
<if test="models.id != null">
id = #{models.id},
</if>
<if test="models.name != null and models.name != ''">
name = #{models.name},
</if>
<if test="models.version != null and models.version != ''">
version = #{models.version},
</if>
<if test="models.description != null and models.description != ''">
description = #{models.description},
</if>
<if test="models.url != null and models.url != ''">
url = #{models.url},
</if>
<if test="models.modelType != null">
model_type = #{models.modelType},
</if>
@ -182,4 +166,3 @@ name = values(name)version = values(version)description = values(description)url
</delete>
</mapper>

View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.platform.mapper.ModelsVersionDao">
<resultMap type="com.ruoyi.platform.domain.ModelsVersion" id="ModelsVersionMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="modelsId" column="models_id" jdbcType="INTEGER"/>
<result property="version" column="version" jdbcType="VARCHAR"/>
<result property="url" column="url" jdbcType="VARCHAR"/>
<result property="fileName" column="file_name" jdbcType="VARCHAR"/>
<result property="fileSize" column="file_size" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="state" column="state" jdbcType="INTEGER"/>
</resultMap>
<!--查询单个-->
<select id="queryById" resultMap="ModelsVersionMap">
select
id,models_id,version,url,file_name,file_size,status,create_by,create_time,update_by,update_time,state
from models_version
where id = #{id} and state = 1
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="ModelsVersionMap">
select
id,models_id,version,url,file_name,file_size,status,create_by,create_time,update_by,update_time,state
from models_version
<where>
state = 1
<if test="modelsVersion.id != null">
and id = #{modelsVersion.id}
</if>
<if test="modelsVersion.modelsId != null">
and models_id = #{modelsVersion.modelsId}
</if>
<if test="modelsVersion.version != null and modelsVersion.version != ''">
and version = #{modelsVersion.version}
</if>
<if test="modelsVersion.url != null and modelsVersion.url != ''">
and url = #{modelsVersion.url}
</if>
<if test="modelsVersion.fileName != null and modelsVersion.fileName != ''">
and file_name = #{modelsVersion.fileName}
</if>
<if test="modelsVersion.fileSize != null and modelsVersion.fileSize != ''">
and file_size = #{modelsVersion.fileSize}
</if>
<if test="modelsVersion.status != null">
and status = #{modelsVersion.status}
</if>
<if test="modelsVersion.createBy != null and modelsVersion.createBy != ''">
and create_by = #{modelsVersion.createBy}
</if>
<if test="modelsVersion.createTime != null">
and create_time = #{modelsVersion.createTime}
</if>
<if test="modelsVersion.updateBy != null and modelsVersion.updateBy != ''">
and update_by = #{modelsVersion.updateBy}
</if>
<if test="modelsVersion.updateTime != null">
and update_time = #{modelsVersion.updateTime}
</if>
<if test="modelsVersion.state != null">
and state = #{modelsVersion.state}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
<!--统计总行数-->
<select id="count" resultType="java.lang.Long">
select count(1)
from models_version
<where>
state = 1
<if test="modelsVersion.id != null">
and id = #{modelsVersion.id}
</if>
<if test="modelsVersion.modelsId != null">
and models_id = #{modelsVersion.modelsId}
</if>
<if test="modelsVersion.version != null and modelsVersion.version != ''">
and version = #{modelsVersion.version}
</if>
<if test="modelsVersion.url != null and modelsVersion.url != ''">
and url = #{modelsVersion.url}
</if>
<if test="modelsVersion.fileName != null and modelsVersion.fileName != ''">
and file_name = #{modelsVersion.fileName}
</if>
<if test="modelsVersion.fileSize != null and modelsVersion.fileSize != ''">
and file_size = #{modelsVersion.fileSize}
</if>
<if test="modelsVersion.status != null">
and status = #{modelsVersion.status}
</if>
<if test="modelsVersion.createBy != null and modelsVersion.createBy != ''">
and create_by = #{modelsVersion.createBy}
</if>
<if test="modelsVersion.createTime != null">
and create_time = #{modelsVersion.createTime}
</if>
<if test="modelsVersion.updateBy != null and modelsVersion.updateBy != ''">
and update_by = #{modelsVersion.updateBy}
</if>
<if test="modelsVersion.updateTime != null">
and update_time = #{modelsVersion.updateTime}
</if>
<if test="modelsVersion.state != null">
and state = #{modelsVersion.state}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into models_version(models_id, version, url, file_name, file_size, status, create_by, create_time, update_by, update_time, state)
values (#{modelsVersion.modelsId}, #{modelsVersion.version}, #{modelsVersion.url}, #{modelsVersion.fileName}, #{modelsVersion.fileSize}, #{modelsVersion.status}, #{modelsVersion.createBy}, #{modelsVersion.createTime}, #{modelsVersion.updateBy}, #{modelsVersion.updateTime}, #{modelsVersion.state})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into models_version(models_id,version,url,file_name,file_size,status,create_by,create_time,update_by,update_time,state)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.modelsId}#{entity.version}#{entity.url}#{entity.fileName}#{entity.fileSize}#{entity.status}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into models_version(models_id,version,url,file_name,file_size,status,create_by,create_time,update_by,update_time,state)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.modelsId}#{entity.version}#{entity.url}#{entity.fileName}#{entity.fileSize}#{entity.status}#{entity.createBy}#{entity.createTime}#{entity.updateBy}#{entity.updateTime}#{entity.state})
</foreach>
on duplicate key update
models_id = values(models_id)version = values(version)url = values(url)file_name = values(file_name)file_size = values(file_size)status = values(status)create_by = values(create_by)create_time = values(create_time)update_by = values(update_by)update_time = values(update_time)state = values(state)
</insert>
<!--通过主键修改数据-->
<update id="update">
update models_version
<set>
<if test="modelsVersion.id != null">
id = #{modelsVersion.id},
</if>
<if test="modelsVersion.modelsId != null">
models_id = #{modelsVersion.modelsId},
</if>
<if test="modelsVersion.version != null and modelsVersion.version != ''">
version = #{modelsVersion.version},
</if>
<if test="modelsVersion.url != null and modelsVersion.url != ''">
url = #{modelsVersion.url},
</if>
<if test="modelsVersion.fileName != null and modelsVersion.fileName != ''">
file_name = #{modelsVersion.fileName},
</if>
<if test="modelsVersion.fileSize != null and modelsVersion.fileSize != ''">
file_size = #{modelsVersion.fileSize},
</if>
<if test="modelsVersion.status != null">
status = #{modelsVersion.status},
</if>
<if test="modelsVersion.createBy != null and modelsVersion.createBy != ''">
create_by = #{modelsVersion.createBy},
</if>
<if test="modelsVersion.createTime != null">
create_time = #{modelsVersion.createTime},
</if>
<if test="modelsVersion.updateBy != null and modelsVersion.updateBy != ''">
update_by = #{modelsVersion.updateBy},
</if>
<if test="modelsVersion.updateTime != null">
update_time = #{modelsVersion.updateTime},
</if>
<if test="modelsVersion.state != null">
state = #{modelsVersion.state}
</if>
</set>
where id = #{modelsVersion.id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from models_version where id = #{id}
</delete>
</mapper>