diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/ImageVersionController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/image/ImageVersionController.java similarity index 54% rename from ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/ImageVersionController.java rename to ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/image/ImageVersionController.java index 30183614..44692d3a 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/ImageVersionController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/image/ImageVersionController.java @@ -1,7 +1,10 @@ -package com.ruoyi.platform.controller; +package com.ruoyi.platform.controller.image; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.platform.domain.Image; import com.ruoyi.platform.domain.ImageVersion; import com.ruoyi.platform.service.ImageVersionService; +import io.swagger.annotations.ApiOperation; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.ResponseEntity; @@ -28,12 +31,15 @@ public class ImageVersionController { * 分页查询 * * @param imageVersion 筛选条件 - * @param pageRequest 分页对象 + * @param page 分页对象 + * @param size 分页对象 * @return 查询结果 */ @GetMapping - public ResponseEntity> queryByPage(ImageVersion imageVersion, PageRequest pageRequest) { - return ResponseEntity.ok(this.imageVersionService.queryByPage(imageVersion, pageRequest)); + @ApiOperation("分页查询") + public AjaxResult queryByPage(ImageVersion imageVersion, int page, int size) { + PageRequest pageRequest = PageRequest.of(page,size); + return AjaxResult.success(this.imageVersionService.queryByPage(imageVersion, pageRequest)); } /** @@ -43,8 +49,8 @@ public class ImageVersionController { * @return 单条数据 */ @GetMapping("{id}") - public ResponseEntity queryById(@PathVariable("id") Integer id) { - return ResponseEntity.ok(this.imageVersionService.queryById(id)); + public AjaxResult queryById(@PathVariable("id") Integer id) { + return AjaxResult.success(this.imageVersionService.queryById(id)); } /** @@ -54,8 +60,8 @@ public class ImageVersionController { * @return 新增结果 */ @PostMapping - public ResponseEntity add(ImageVersion imageVersion) { - return ResponseEntity.ok(this.imageVersionService.insert(imageVersion)); + public AjaxResult add(ImageVersion imageVersion) { + return AjaxResult.success(this.imageVersionService.insert(imageVersion)); } /** @@ -65,8 +71,8 @@ public class ImageVersionController { * @return 编辑结果 */ @PutMapping - public ResponseEntity edit(ImageVersion imageVersion) { - return ResponseEntity.ok(this.imageVersionService.update(imageVersion)); + public AjaxResult edit(ImageVersion imageVersion) { + return AjaxResult.success(this.imageVersionService.update(imageVersion)); } /** @@ -76,8 +82,8 @@ public class ImageVersionController { * @return 删除是否成功 */ @DeleteMapping - public ResponseEntity deleteById(Integer id) { - return ResponseEntity.ok(this.imageVersionService.deleteById(id)); + public AjaxResult deleteById(Integer id) { + return AjaxResult.success(this.imageVersionService.removeById(id)); } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ImageVersionDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ImageVersionDao.java index e2080cd7..c441dfcb 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ImageVersionDao.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ImageVersionDao.java @@ -28,7 +28,7 @@ public interface ImageVersionDao { * @param pageable 分页对象 * @return 对象列表 */ - List queryAllByLimit(ImageVersion imageVersion, @Param("pageable") Pageable pageable); + List queryAllByLimit(@Param("imageVersion") ImageVersion imageVersion, @Param("pageable") Pageable pageable); /** * 统计总行数 @@ -36,7 +36,7 @@ public interface ImageVersionDao { * @param imageVersion 查询条件 * @return 总行数 */ - long count(ImageVersion imageVersion); + long count(@Param("imageVersion") ImageVersion imageVersion); /** * 新增数据 @@ -44,7 +44,7 @@ public interface ImageVersionDao { * @param imageVersion 实例对象 * @return 影响行数 */ - int insert(ImageVersion imageVersion); + int insert(@Param("imageVersion") ImageVersion imageVersion); /** * 批量新增数据(MyBatis原生foreach方法) @@ -69,7 +69,7 @@ public interface ImageVersionDao { * @param imageVersion 实例对象 * @return 影响行数 */ - int update(ImageVersion imageVersion); + int update(@Param("imageVersion") ImageVersion imageVersion); /** * 通过主键删除数据 diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ImageVersionService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ImageVersionService.java index 657cc994..e3112ae6 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ImageVersionService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ImageVersionService.java @@ -62,4 +62,5 @@ public interface ImageVersionService { List queryByImageId(Integer id); + String removeById(Integer id); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java index 67c46bd2..5b0da9e0 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import javax.annotation.Resource; +import java.util.Date; /** * (Image)表服务实现类 @@ -70,6 +71,12 @@ public class ImageServiceImpl implements ImageService { */ @Override public Image insert(Image image) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + image.setCreateBy(loginUser.getUsername()); + image.setUpdateBy(loginUser.getUsername()); + image.setUpdateTime(new Date()); + image.setCreateTime(new Date()); + image.setState(1); this.imageDao.insert(image); return image; } @@ -82,8 +89,16 @@ public class ImageServiceImpl implements ImageService { */ @Override public Image update(Image image) { + int currentState = image.getState(); + if(currentState == 0){ + throw new RuntimeException("模型已被删除,无法更新。"); + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + image.setUpdateBy(loginUser.getUsername()); + image.setUpdateTime(new Date()); this.imageDao.update(image); return this.queryById(image.getId()); + } /** diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageVersionServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageVersionServiceImpl.java index 73d01597..4ce940ad 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageVersionServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageVersionServiceImpl.java @@ -1,15 +1,20 @@ package com.ruoyi.platform.service.impl; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.domain.ImageVersion; +import com.ruoyi.platform.mapper.ImageDao; import com.ruoyi.platform.mapper.ImageVersionDao; import com.ruoyi.platform.domain.ModelsVersion; import com.ruoyi.platform.service.ImageVersionService; +import com.ruoyi.system.api.model.LoginUser; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import javax.annotation.Resource; +import java.util.Date; import java.util.List; /** @@ -23,6 +28,9 @@ public class ImageVersionServiceImpl implements ImageVersionService { @Resource private ImageVersionDao imageVersionDao; + @Resource + private ImageDao imageDao; + /** * 通过ID查询单条数据 * @@ -52,6 +60,26 @@ public class ImageVersionServiceImpl implements ImageVersionService { return imageVersionDao.queryByImageId(imageId); } + @Override + public String removeById(Integer id) { + ImageVersion imageVersion = this.imageVersionDao.queryById(id); + if (imageVersion == null){ + return "该版本下模型文件信息不存在"; + } + + //判断权限,只有admin和创建者本身可以删除该数据集 + LoginUser loginUser = SecurityUtils.getLoginUser(); + String username = loginUser.getUsername(); + String createdBy = imageVersion.getCreateBy(); + if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){ + return "无权限删除该版本下模型信息"; + } + + imageVersion.setState(0); + return this.imageVersionDao.update(imageVersion)>0?"删除成功":"删除失败"; + + } + /** * 新增数据 * @@ -60,6 +88,12 @@ public class ImageVersionServiceImpl implements ImageVersionService { */ @Override public ImageVersion insert(ImageVersion imageVersion) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + imageVersion.setCreateBy(loginUser.getUsername()); + imageVersion.setUpdateBy(loginUser.getUsername()); + imageVersion.setUpdateTime(new Date()); + imageVersion.setCreateTime(new Date()); + imageVersion.setState(1); this.imageVersionDao.insert(imageVersion); return imageVersion; } @@ -72,8 +106,16 @@ public class ImageVersionServiceImpl implements ImageVersionService { */ @Override public ImageVersion update(ImageVersion imageVersion) { + int currentState = imageVersion.getState(); + if(currentState == 0){ + throw new RuntimeException("镜像版本已被删除,无法更新。"); + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + imageVersion.setUpdateBy(loginUser.getUsername()); + imageVersion.setUpdateTime(new Date()); this.imageVersionDao.update(imageVersion); return this.queryById(imageVersion.getId()); + } /** diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ImageDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ImageDaoMapper.xml index deec6bbe..eed53095 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ImageDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ImageDaoMapper.xml @@ -17,7 +17,7 @@ @@ -25,7 +25,7 @@