From 4eefdb279d37cccd67ce7136e358aae58c3efb20 Mon Sep 17 00:00:00 2001 From: cjw Date: Tue, 18 Jun 2024 13:54:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=AE=B9=E9=87=8F=E5=AD=97=E6=AE=B5=E3=80=82=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=95=99=E6=9D=90=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=A1=E6=81=AF=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/SysOssResourceController.java | 17 +++++++-- .../file/SysOssTextbookController.java | 37 ++++++++++++++++--- .../org/dromara/system/domain/SysOss.java | 5 +++ .../dromara/system/domain/bo/SysOssBo.java | 5 +++ .../system/domain/vo/SysOssTextbookVo.java | 19 +++++++++- .../dromara/system/domain/vo/SysOssVo.java | 5 +++ .../service/ISysOssResourceService.java | 2 + .../service/ISysOssTextbookService.java | 2 + .../impl/SysOssResourceServiceImpl.java | 8 ++++ .../service/impl/SysOssServiceImpl.java | 15 ++++++-- .../impl/SysOssTextbookServiceImpl.java | 30 ++++++++++++++- .../mapper/system/SysOssTextbookMapper.xml | 3 +- 12 files changed, 133 insertions(+), 15 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java index 5873e78..704a989 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java @@ -60,7 +60,7 @@ public class SysOssResourceController extends BaseController { * 新增【请填写功能名称】 */ @SaCheckPermission("file:resource:add") - @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) + @Log(title = "【新增专题资源】", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody SysOssResourceBo bo) { @@ -71,7 +71,7 @@ public class SysOssResourceController extends BaseController { * 修改【请填写功能名称】 */ @SaCheckPermission("file:resource:edit") - @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @Log(title = "【更新专题资源】", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody SysOssResourceBo bo) { @@ -84,10 +84,21 @@ public class SysOssResourceController extends BaseController { * @param ossIds 主键串 */ @SaCheckPermission("file:resource:remove") - @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @Log(title = "【删除专题资源】", businessType = BusinessType.DELETE) @DeleteMapping("/{ossIds}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossIds) { return toAjax(sysOssResourceService.deleteWithValidByIds(List.of(ossIds), true)); } + /** + * 审核 + * + * @param bo 主键串 + */ + @SaCheckPermission("file:textbook:review") + @Log(title = "【审核专题资源】", businessType = BusinessType.UPDATE) + @PutMapping("/review") + public R review(@RequestBody SysOssResourceBo bo) { + return toAjax(sysOssResourceService.reviewByBo(bo)); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java index b2aaa85..4c3b9c8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java @@ -53,7 +53,7 @@ public class SysOssTextbookController extends BaseController { @SaCheckPermission("file:textbook:query") @GetMapping("/{ossId}") public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long ossId) { + @PathVariable Long ossId) { return R.ok(sysOssTextbookService.queryById(ossId)); } @@ -61,7 +61,7 @@ public class SysOssTextbookController extends BaseController { * 新增【请填写功能名称】 */ @SaCheckPermission("file:textbook:add") - @Log(title = "【新增同步教材资源】", businessType = BusinessType.INSERT) + @Log(title = "【新增同步教材】", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody SysOssTextbookBo bo) { @@ -72,7 +72,7 @@ public class SysOssTextbookController extends BaseController { * 修改【请填写功能名称】 */ @SaCheckPermission("file:textbook:edit") - @Log(title = "【更新同步教材资源】", businessType = BusinessType.UPDATE) + @Log(title = "【更新同步教材】", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody SysOssTextbookBo bo) { @@ -85,7 +85,7 @@ public class SysOssTextbookController extends BaseController { * @param ossIds 主键串 */ @SaCheckPermission("file:textbook:remove") - @Log(title = "【删除同步教材资源】", businessType = BusinessType.DELETE) + @Log(title = "【删除同步教材】", businessType = BusinessType.DELETE) @DeleteMapping("/{ossIds}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossIds) { @@ -98,9 +98,34 @@ public class SysOssTextbookController extends BaseController { * @param bo 主键串 */ @SaCheckPermission("file:textbook:review") - @Log(title = "【审核同步教材资源】", businessType = BusinessType.UPDATE) - @DeleteMapping("/review") + @Log(title = "【审核同步教材】", businessType = BusinessType.UPDATE) + @PutMapping("/review") public R review(@RequestBody SysOssTextbookBo bo) { return toAjax(sysOssTextbookService.reviewByBo(bo)); } + + /** + * 审核 + * + * @param bo 主键串 + */ + @SaCheckPermission("file:textbook:copy") + @Log(title = "【审核同步教材】", businessType = BusinessType.UPDATE) + @PutMapping("/copy") + public R copy(@RequestBody SysOssTextbookBo bo) { + return toAjax(sysOssTextbookService.copyByBo(bo)); + } + + /** + * 移动 + * + * @param bo 主键串 + */ + @SaCheckPermission("file:textbook:move") + @Log(title = "【移动同步教材】", businessType = BusinessType.UPDATE) + @PutMapping("/move") + public R move(@RequestBody SysOssTextbookBo bo) { + return toAjax(sysOssTextbookService.moveByBo(bo)); + } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java index 23872fa..f1ff196 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java @@ -42,6 +42,11 @@ public class SysOss extends BaseEntity { */ private String url; + /** + * 容量 + */ + private String volume; + /** * 服务商 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssBo.java index 175c3b3..1dc819d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssBo.java @@ -46,6 +46,11 @@ public class SysOssBo extends BaseEntity { */ private String url; + /** + * 容量 + */ + private String volume; + /** * 服务商 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssTextbookVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssTextbookVo.java index 911a9ca..116943e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssTextbookVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssTextbookVo.java @@ -2,11 +2,13 @@ package org.dromara.system.domain.vo; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; import org.dromara.system.domain.SysOssTextbook; import java.io.Serial; import java.io.Serializable; - +import java.util.Date; /** @@ -53,5 +55,20 @@ public class SysOssTextbookVo implements Serializable { */ private Integer status; + /** + * 文件后缀名 + */ + private String fileSuffix; + + /** + * 容量 + */ + private String volume; + + private Date createTime; + + @Translation(type = TransConstant.USER_ID_TO_NAME) + private Long createBy; + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java index 8d5c429..4157641 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java @@ -47,6 +47,11 @@ public class SysOssVo implements Serializable { */ private String url; + /** + * 容量 + */ + private String volume; + /** * 创建时间 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java index 7a01518..3380c62 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java @@ -66,4 +66,6 @@ public interface ISysOssResourceService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + Boolean reviewByBo(SysOssResourceBo bo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssTextbookService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssTextbookService.java index 3395457..d85aa18 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssTextbookService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssTextbookService.java @@ -68,4 +68,6 @@ public interface ISysOssTextbookService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); Boolean reviewByBo(SysOssTextbookBo bo); + Boolean copyByBo(SysOssTextbookBo bo); + Boolean moveByBo(SysOssTextbookBo bo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java index 7f7592e..66a770f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java @@ -155,4 +155,12 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService { } return baseMapper.deleteBatchIds(ids) > 0; } + + @Override + public Boolean reviewByBo(SysOssResourceBo bo) { + SysOssResource date = new SysOssResource(); + date.setId(bo.getId()); + date.setStatus(bo.getStatus()); + return baseMapper.updateById(date) > 0; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java index b9d0644..a69fe28 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java @@ -2,6 +2,7 @@ package org.dromara.system.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.io.unit.DataSizeUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -187,6 +188,11 @@ public class SysOssServiceImpl implements ISysOssService, OssService { @Override public SysOssVo upload(MultipartFile file) { String originalfileName = file.getOriginalFilename(); + long size = file.getSize(); + if (size == 0) { + throw new ServiceException("上传的文件内容为空"); + } + String format = DataSizeUtil.format(size); String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); OssClient storage = OssFactory.instance(); UploadResult uploadResult; @@ -203,7 +209,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService { throw new ServiceException(e.getMessage()); } // 保存文件信息 - return buildResultEntity(originalfileName, md5, suffix, storage.getConfigKey(), uploadResult); + return buildResultEntity(originalfileName, md5, format, suffix, storage.getConfigKey(), uploadResult); } /** @@ -215,6 +221,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService { @Override public SysOssVo upload(File file) { String originalfileName = file.getName(); + String format = DataSizeUtil.format(file.length()); String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); OssClient storage = OssFactory.instance(); String md5; @@ -230,17 +237,18 @@ public class SysOssServiceImpl implements ISysOssService, OssService { } UploadResult uploadResult = storage.uploadSuffix(file, suffix); // 保存文件信息 - return buildResultEntity(originalfileName, md5, suffix, storage.getConfigKey(), uploadResult); + return buildResultEntity(originalfileName, md5, format, suffix, storage.getConfigKey(), uploadResult); } @NotNull - private SysOssVo buildResultEntity(String originalfileName, String md5, String suffix, String configKey, UploadResult uploadResult) { + private SysOssVo buildResultEntity(String originalfileName, String md5, String format, String suffix, String configKey, UploadResult uploadResult) { SysOss oss = new SysOss(); oss.setUrl(uploadResult.getUrl()); oss.setFileSuffix(suffix); oss.setFileName(uploadResult.getFilename()); oss.setService(configKey); oss.setFileMd5(md5); + oss.setVolume(format); baseMapper.insert(oss); SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class); sysOssVo.setOriginalName(originalfileName); @@ -293,4 +301,5 @@ public class SysOssServiceImpl implements ISysOssService, OssService { public SysOssVo getByMd5(String md5) { return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(SysOss::getFileMd5, md5)); } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java index bf4f417..2ec0d15 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java @@ -133,7 +133,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { private void validEntityBeforeSave(SysOssTextbook entity) { SysOssVo ossVo = ossService.getById(entity.getOssId()); if (ObjectUtil.isNull(ossVo)) { - throw new ServiceException("教材文件不存在"); + throw new ServiceException("文件不存在"); } SysCatalogTextbookVo ossTextbook = catalogService.selectCatalogById(entity.getCatalogId()); if (ObjectUtil.isNull(ossTextbook)) { @@ -163,4 +163,32 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { date.setStatus(bo.getStatus()); return baseMapper.updateById(date) > 0; } + + @Override + public Boolean copyByBo(SysOssTextbookBo bo) { + SysOssTextbook copy = processDate(bo); + validEntityBeforeSave(copy); + return baseMapper.insert(copy) > 0; + } + + @Override + public Boolean moveByBo(SysOssTextbookBo bo) { + SysOssTextbook move = processDate(bo); + baseMapper.insert(move); + validEntityBeforeSave(move); + return baseMapper.deleteById(bo.getId()) > 0; + } + + private SysOssTextbook processDate(SysOssTextbookBo bo) { + SysOssTextbook ossTextbook = baseMapper.selectById(bo.getId()); + SysOssTextbook date = new SysOssTextbook(); + date.setOssId(ossTextbook.getOssId()); + String path = catalogService.selectCatalogNameById(bo.getCatalogId()); + date.setCatalogId(bo.getCatalogId()); + date.setFileName(ossTextbook.getFileName()); + date.setFilePath(path); + date.setType(ossTextbook.getType()); + date.setStatus(ossTextbook.getStatus()); + return date; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml index 36a8ace..9c8f119 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml @@ -5,9 +5,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"