| @@ -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)); | |||
| } | |||
| @@ -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)); | |||
| } | |||
| @@ -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; | |||
| } | |||
| } | |||
| @@ -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; | |||
| @@ -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; | |||
| @@ -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); | |||
| @@ -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插入 | |||