| @@ -158,7 +158,7 @@ public class DatasetController { | |||||
| */ | */ | ||||
| @DeleteMapping({"{id}"}) | @DeleteMapping({"{id}"}) | ||||
| @ApiOperation("根据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)); | return AjaxResult.success(this.datasetService.removeById(id)); | ||||
| } | } | ||||
| @@ -161,7 +161,7 @@ public class ModelsController extends BaseController { | |||||
| */ | */ | ||||
| @DeleteMapping("{id}") | @DeleteMapping("{id}") | ||||
| @ApiOperation("删除模型") | @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)); | return genericsSuccess(this.modelsService.removeById(id)); | ||||
| } | } | ||||
| @@ -52,6 +52,16 @@ public class Models implements Serializable { | |||||
| private Integer state; | private Integer state; | ||||
| @ApiModelProperty(value = "模型类型名") | |||||
| private String modelTypeName; | |||||
| @ApiModelProperty(value = "模型tag名") | |||||
| private String modelTagName; | |||||
| public Integer getId() { | public Integer getId() { | ||||
| return id; | return id; | ||||
| } | } | ||||
| @@ -158,5 +168,21 @@ public class Models implements Serializable { | |||||
| this.state = state; | 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); | boolean deleteById(Integer id); | ||||
| String removeById(Integer id); | |||||
| String removeById(Integer id) throws Exception; | |||||
| ResponseEntity<InputStreamResource> downloadDataset(Integer id) throws Exception; | ResponseEntity<InputStreamResource> downloadDataset(Integer id) throws Exception; | ||||
| @@ -64,7 +64,7 @@ public interface ModelsService { | |||||
| */ | */ | ||||
| boolean deleteById(Integer id); | boolean deleteById(Integer id); | ||||
| String removeById(Integer id); | |||||
| String removeById(Integer id) throws Exception; | |||||
| ResponseEntity<InputStreamResource> downloadModels(Integer id) throws Exception; | ResponseEntity<InputStreamResource> downloadModels(Integer id) throws Exception; | ||||
| @@ -82,17 +82,27 @@ public class DatasetServiceImpl implements DatasetService { | |||||
| */ | */ | ||||
| @Override | @Override | ||||
| public Dataset queryById(Integer id) { | public Dataset queryById(Integer id) { | ||||
| Dataset dataset = this.datasetDao.queryById(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 | @Override | ||||
| public String removeById(Integer id) { | |||||
| public String removeById(Integer id) throws Exception { | |||||
| Dataset dataset = this.datasetDao.queryById(id); | Dataset dataset = this.datasetDao.queryById(id); | ||||
| if (dataset == null){ | if (dataset == null){ | ||||
| return "数据集不存在"; | |||||
| throw new Exception("数据集不存在"); | |||||
| } | } | ||||
| //判断权限,只有admin和创建者本身可以删除该数据集 | //判断权限,只有admin和创建者本身可以删除该数据集 | ||||
| @@ -172,10 +182,10 @@ public class DatasetServiceImpl implements DatasetService { | |||||
| String username = loginUser.getUsername(); | String username = loginUser.getUsername(); | ||||
| String createdBy = dataset.getCreateBy(); | String createdBy = dataset.getCreateBy(); | ||||
| if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ | if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ | ||||
| return "无权限删除该数据集版本"; | |||||
| throw new Exception("无权限删除该数据集"); | |||||
| } | } | ||||
| if (datasetVersionService.queryByDatasetId(id).size()>0){ | if (datasetVersionService.queryByDatasetId(id).size()>0){ | ||||
| return "请先删除该数据集的版本文件"; | |||||
| throw new Exception("请先删除该数据集下的版本文件"); | |||||
| } | } | ||||
| dataset.setState(0); | dataset.setState(0); | ||||
| @@ -1,10 +1,12 @@ | |||||
| package com.ruoyi.platform.service.impl; | package com.ruoyi.platform.service.impl; | ||||
| import com.ruoyi.common.security.utils.SecurityUtils; | import com.ruoyi.common.security.utils.SecurityUtils; | ||||
| import com.ruoyi.platform.domain.AssetIcon; | |||||
| import com.ruoyi.platform.domain.Models; | import com.ruoyi.platform.domain.Models; | ||||
| import com.ruoyi.platform.domain.ModelsVersion; | import com.ruoyi.platform.domain.ModelsVersion; | ||||
| import com.ruoyi.platform.mapper.ModelsDao; | import com.ruoyi.platform.mapper.ModelsDao; | ||||
| import com.ruoyi.platform.mapper.ModelsVersionDao; | import com.ruoyi.platform.mapper.ModelsVersionDao; | ||||
| import com.ruoyi.platform.service.AssetIconService; | |||||
| import com.ruoyi.platform.service.MinioService; | import com.ruoyi.platform.service.MinioService; | ||||
| import com.ruoyi.platform.service.ModelsService; | import com.ruoyi.platform.service.ModelsService; | ||||
| import com.ruoyi.platform.service.ModelsVersionService; | import com.ruoyi.platform.service.ModelsVersionService; | ||||
| @@ -57,6 +59,9 @@ public class ModelsServiceImpl implements ModelsService { | |||||
| @Resource | @Resource | ||||
| private MinioService minioService; | private MinioService minioService; | ||||
| @Resource | |||||
| private AssetIconService assetIconService; | |||||
| // 固定存储桶名 | // 固定存储桶名 | ||||
| private final String bucketName = "platform-data"; | private final String bucketName = "platform-data"; | ||||
| @@ -72,7 +77,23 @@ public class ModelsServiceImpl implements ModelsService { | |||||
| */ | */ | ||||
| @Override | @Override | ||||
| public Models queryById(Integer id) { | 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 | @Override | ||||
| public String removeById(Integer id) { | |||||
| public String removeById(Integer id) throws Exception { | |||||
| Models models = this.modelsDao.queryById(id); | Models models = this.modelsDao.queryById(id); | ||||
| if (models == null){ | if (models == null){ | ||||
| return "模型不存在"; | |||||
| throw new Exception("模型不存在"); | |||||
| } | } | ||||
| //判断权限,只有admin和创建者本身可以删除该数据集 | |||||
| //判断权限,只有admin和创建者本身可以删除该模型 | |||||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | LoginUser loginUser = SecurityUtils.getLoginUser(); | ||||
| String username = loginUser.getUsername(); | String username = loginUser.getUsername(); | ||||
| String createdBy = models.getCreateBy(); | String createdBy = models.getCreateBy(); | ||||
| if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ | if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ | ||||
| return "无权限删除该模型"; | |||||
| throw new Exception("无权限删除该模型"); | |||||
| } | } | ||||
| if (modelsVersionService.queryByModelsId(id).size()>0){ | if (modelsVersionService.queryByModelsId(id).size()>0){ | ||||
| return "请先删除该模型的版本文件"; | |||||
| throw new Exception("请先删除该镜像下的版本文件"); | |||||
| } | } | ||||
| models.setState(0); | models.setState(0); | ||||
| return this.modelsDao.update(models)>0?"删除成功":"删除失败"; | return this.modelsDao.update(models)>0?"删除成功":"删除失败"; | ||||
| @@ -207,7 +228,6 @@ public class ModelsServiceImpl implements ModelsService { | |||||
| */ | */ | ||||
| @Override | @Override | ||||
| public List<Map<String, String>> uploadModels(MultipartFile[] files, String uuid) throws Exception { | public List<Map<String, String>> uploadModels(MultipartFile[] files, String uuid) throws Exception { | ||||
| List<Map<String, String>> results = new ArrayList<>(); | List<Map<String, String>> results = new ArrayList<>(); | ||||
| for (MultipartFile file:files) { | for (MultipartFile file:files) { | ||||
| // 构建objectName | // 构建objectName | ||||
| @@ -232,7 +252,6 @@ public class ModelsServiceImpl implements ModelsService { | |||||
| ModelsVersion version = modelsVersionService.queryByModelsVersion(modelsVersion); | ModelsVersion version = modelsVersionService.queryByModelsVersion(modelsVersion); | ||||
| String url = ""; | String url = ""; | ||||
| if (version == null) { | if (version == null) { | ||||
| //插表,因为这里是一次直接插表所以这里定掉date,然后用DAO插入 | //插表,因为这里是一次直接插表所以这里定掉date,然后用DAO插入 | ||||