Merge branch 'dev' into dev-zw

This commit is contained in:
cp3hnu 2024-04-26 14:10:05 +08:00
commit 1faf5561d9
7 changed files with 80 additions and 25 deletions

View File

@ -158,7 +158,7 @@ public class DatasetController {
*/
@DeleteMapping({"{id}"})
@ApiOperation("根据id删除数据集")
public AjaxResult deleteById(@PathVariable("id") Integer id) {
public AjaxResult deleteById(@PathVariable("id") Integer id) throws Exception {
return AjaxResult.success(this.datasetService.removeById(id));
}

View File

@ -161,7 +161,7 @@ public class ModelsController extends BaseController {
*/
@DeleteMapping("{id}")
@ApiOperation("删除模型")
public GenericsAjaxResult<String> deleteById(@PathVariable("id") Integer id) {
public GenericsAjaxResult<String> deleteById(@PathVariable("id") Integer id) throws Exception {
return genericsSuccess(this.modelsService.removeById(id));
}

View File

@ -52,6 +52,16 @@ public class Models implements Serializable {
private Integer state;
@ApiModelProperty(value = "模型类型名")
private String modelTypeName;
@ApiModelProperty(value = "模型tag名")
private String modelTagName;
public Integer getId() {
return id;
}
@ -158,5 +168,21 @@ public class Models implements Serializable {
this.state = state;
}
public String getModelTagName() {
return modelTagName;
}
public void setModelTagName(String modelTagName) {
this.modelTagName = modelTagName;
}
public String getModelTypeName() {
return modelTypeName;
}
public void setModelTypeName(String modelTypeName) {
this.modelTypeName = modelTypeName;
}
}

View File

@ -68,7 +68,7 @@ DatasetService {
*/
boolean deleteById(Integer id);
String removeById(Integer id);
String removeById(Integer id) throws Exception;
ResponseEntity<InputStreamResource> downloadDataset(Integer id) throws Exception;

View File

@ -64,7 +64,7 @@ public interface ModelsService {
*/
boolean deleteById(Integer id);
String removeById(Integer id);
String removeById(Integer id) throws Exception;
ResponseEntity<InputStreamResource> downloadModels(Integer id) throws Exception;

View File

@ -82,17 +82,27 @@ public class DatasetServiceImpl implements DatasetService {
*/
@Override
public Dataset queryById(Integer id) {
Dataset dataset = this.datasetDao.queryById(id);
String dataType = dataset.getDataType();
String dataTag = dataset.getDataTag();
//去资产管理表中查询对应的图标名
AssetIcon dataTypeAssetIcon = assetIconService.queryByPath(dataType);
AssetIcon dataTagAssetIcon = assetIconService.queryByPath(dataTag);
dataset.setDatasetTypeName(dataTypeAssetIcon.getName());
dataset.setDatasetTagName(dataTagAssetIcon.getName());
return dataset;
if (dataset != null) {
String dataType = dataset.getDataType();
String dataTag = dataset.getDataTag();
// 判空逻辑只有当dataType和dataTag不为空时才进行查询
if (dataType != null && !dataType.isEmpty()) {
AssetIcon dataTypeAssetIcon = assetIconService.queryById(Integer.valueOf(dataType));
if (dataTypeAssetIcon != null) {
dataset.setDatasetTypeName(dataTypeAssetIcon.getName());
}
}
if (dataTag != null && !dataTag.isEmpty()) {
AssetIcon dataTagAssetIcon = assetIconService.queryById(Integer.valueOf(dataTag));
if (dataTagAssetIcon != null) {
dataset.setDatasetTagName(dataTagAssetIcon.getName());
}
}
}
return dataset;
}
/**
@ -161,10 +171,10 @@ public class DatasetServiceImpl implements DatasetService {
}
@Override
public String removeById(Integer id) {
public String removeById(Integer id) throws Exception {
Dataset dataset = this.datasetDao.queryById(id);
if (dataset == null){
return "数据集不存在";
throw new Exception("数据集不存在");
}
//判断权限只有admin和创建者本身可以删除该数据集
@ -172,10 +182,10 @@ public class DatasetServiceImpl implements DatasetService {
String username = loginUser.getUsername();
String createdBy = dataset.getCreateBy();
if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){
return "无权限删除该数据集版本";
throw new Exception("无权限删除该数据集");
}
if (datasetVersionService.queryByDatasetId(id).size()>0){
return "请先删除该数据集的版本文件";
throw new Exception("请先删除该数据集下的版本文件");
}
dataset.setState(0);

View File

@ -1,10 +1,12 @@
package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.AssetIcon;
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.AssetIconService;
import com.ruoyi.platform.service.MinioService;
import com.ruoyi.platform.service.ModelsService;
import com.ruoyi.platform.service.ModelsVersionService;
@ -57,6 +59,9 @@ public class ModelsServiceImpl implements ModelsService {
@Resource
private MinioService minioService;
@Resource
private AssetIconService assetIconService;
// 固定存储桶名
private final String bucketName = "platform-data";
@ -72,7 +77,23 @@ public class ModelsServiceImpl implements ModelsService {
*/
@Override
public Models queryById(Integer id) {
return this.modelsDao.queryById(id);
Models models = this.modelsDao.queryById(id);
String modelType = models.getModelType();
String modelTag = models.getModelTag();
//去资产管理表中查询对应的图标名,注意判空逻辑只有当dataType和dataTag不为空时才进行查询
if(modelType != null && !modelType.isEmpty()){
AssetIcon modelTypeAssetIcon = assetIconService.queryById(Integer.valueOf(modelType));
if (modelTypeAssetIcon != null){
models.setModelTypeName(modelTypeAssetIcon.getName());
}
}
if(modelTag != null && !modelTag.isEmpty()){
AssetIcon modelTagAssetIcon = assetIconService.queryById(Integer.valueOf(modelTag));
if (modelTagAssetIcon != null){
models.setModelTagName(modelTagAssetIcon.getName());
}
}
return models;
}
/**
@ -137,23 +158,23 @@ public class ModelsServiceImpl implements ModelsService {
}
@Override
public String removeById(Integer id) {
public String removeById(Integer id) throws Exception {
Models models = this.modelsDao.queryById(id);
if (models == null){
return "模型不存在";
throw new Exception("模型不存在");
}
//判断权限只有admin和创建者本身可以删除该数据集
//判断权限只有admin和创建者本身可以删除该模型
LoginUser loginUser = SecurityUtils.getLoginUser();
String username = loginUser.getUsername();
String createdBy = models.getCreateBy();
if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){
return "无权限删除该模型";
throw new Exception("无权限删除该模型");
}
if (modelsVersionService.queryByModelsId(id).size()>0){
return "请先删除该模型的版本文件";
throw new Exception("请先删除该镜像下的版本文件");
}
models.setState(0);
return this.modelsDao.update(models)>0?"删除成功":"删除失败";
@ -207,7 +228,6 @@ public class ModelsServiceImpl implements ModelsService {
*/
@Override
public List<Map<String, String>> uploadModels(MultipartFile[] files, String uuid) throws Exception {
List<Map<String, String>> results = new ArrayList<>();
for (MultipartFile file:files) {
// 构建objectName
@ -232,7 +252,6 @@ public class ModelsServiceImpl implements ModelsService {
ModelsVersion version = modelsVersionService.queryByModelsVersion(modelsVersion);
String url = "";
if (version == null) {
//插表,因为这里是一次直接插表所以这里定掉date然后用DAO插入