From 74df0be99745a3f5f49df43f42248a3001e28245 Mon Sep 17 00:00:00 2001 From: cjw Date: Mon, 15 Jul 2024 13:55:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E8=B5=84=E6=BA=90=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=B7=BB=E5=8A=A0=E9=80=BB=E8=BE=91=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=AD=97=E6=AE=B5=EF=BC=9B=E7=BB=9F=E8=AE=A1=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E8=87=AA=E9=80=89=E7=A7=9F=E6=88=B7id=EF=BC=9B?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=97=A8=E6=88=B7=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/constant/FileTypeConstants.java | 18 ++++ .../controller/file/StatisticController.java | 13 ++- .../file/SysOssPersonController.java | 12 +++ .../system/domain/SysCatalogPerson.java | 7 ++ .../system/domain/SysCatalogResource.java | 7 ++ .../dromara/system/domain/SysOssPerson.java | 7 ++ .../dromara/system/domain/SysOssResource.java | 7 ++ .../dromara/system/domain/SysOssTextbook.java | 7 ++ .../system/mapper/StatisticMapper.java | 17 ++-- .../system/mapper/SysCatalogPersonMapper.java | 2 + .../mapper/SysCatalogResourceMapper.java | 2 + .../system/service/IStatisticService.java | 1 + .../system/service/ISysOssPersonService.java | 2 + .../service/impl/StatisticServiceImpl.java | 82 ++++++++++++++----- .../impl/SysCatalogPersonServiceImpl.java | 14 +++- .../impl/SysCatalogResourceServiceImpl.java | 13 ++- .../impl/SysCatalogTextbookServiceImpl.java | 8 ++ .../service/impl/SysOssPersonServiceImpl.java | 23 +++++- .../impl/SysOssResourceServiceImpl.java | 4 +- .../impl/SysOssTextbookServiceImpl.java | 65 +++++---------- .../mapper/system/StatisticMapper.xml | 57 +++++++------ .../mapper/system/SysCatalogPersonMapper.xml | 6 ++ .../system/SysCatalogResourceMapper.xml | 12 ++- .../system/SysCatalogTextbookMapper.xml | 3 +- .../mapper/system/SysLogininforMapper.xml | 2 +- 25 files changed, 281 insertions(+), 110 deletions(-) create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/constant/FileTypeConstants.java diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/constant/FileTypeConstants.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/constant/FileTypeConstants.java new file mode 100644 index 0000000..f554f27 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/constant/FileTypeConstants.java @@ -0,0 +1,18 @@ +package org.dromara.system.constant; + + +import java.util.List; + +public interface FileTypeConstants { + + List PPT_TYPE = List.of(".ppt", ".pptx"); + List WORD_TYPE = List.of(".doc", ".docx"); + List EXCEL_TYPE = List.of(".xls", ".xlsx"); + List PDF_TYPE = List.of(".pdf"); + List TXT_TYPE = List.of(".txt"); + List IMAGE_TYPE = List.of(".jpg",".png",".jpeg",".gif",".bmp"); + List AUDIO_TYPE = List.of(".mp3",".wma"); + List VIDEO_TYPE = List.of(".mp4",".mov",".wmv",".flv",".avi",".mkv"); + List ZIP_TYPE = List.of(".rar",".zip"); + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/StatisticController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/StatisticController.java index 130b068..1b4aae6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/StatisticController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/StatisticController.java @@ -41,6 +41,7 @@ public class StatisticController extends BaseController { public R getClassNum() { return R.ok(statisticService.getCalssNum()); } + /** * 获取总班级数 */ @@ -66,10 +67,20 @@ public class StatisticController extends BaseController { } /** - * 资源使用排行榜 + * 资源类型统计-课件、作业等 */ @GetMapping("/oss/type") public R> getOssType() { return R.ok(statisticService.getOssType()); } + + /** + * 资源使用排行榜 + */ + @GetMapping("/upload/num") + public R> getUploadNum() { + return R.ok(statisticService.getUploadNum()); + } + + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java index 6caab75..be0cf74 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java @@ -105,6 +105,18 @@ public class SysOssPersonController extends BaseController { return toAjax(sysOssPersonService.moveByBo(bo)); } + /** + * 分享 + * + * @param bo 主键串 + */ + @SaCheckPermission("file:person:share") + @Log(title = "【分享我的空间】", businessType = BusinessType.UPDATE) + @PutMapping("/share") + public R share(@RequestBody SysOssPersonBo bo) { + return toAjax(sysOssPersonService.share(bo)); + } + /** * 下载 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogPerson.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogPerson.java index 49421fd..31ff81b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogPerson.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogPerson.java @@ -2,6 +2,7 @@ package org.dromara.system.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -49,5 +50,11 @@ public class SysCatalogPerson extends TenantEntity { */ private Long orderNum; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogResource.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogResource.java index be270f4..7c88e69 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogResource.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCatalogResource.java @@ -57,5 +57,12 @@ public class SysCatalogResource extends TenantEntity { */ private Long cover; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java index b9fb13f..2f79e9a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java @@ -2,6 +2,7 @@ package org.dromara.system.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -59,6 +60,12 @@ public class SysOssPerson extends TenantEntity { */ private String fileSuffix; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + @TableField(exist = false) private Long use; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java index dec2a0e..1772ed1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java @@ -2,6 +2,7 @@ package org.dromara.system.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -55,6 +56,12 @@ public class SysOssResource extends TenantEntity { private Long previewNum; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + @TableField(exist = false) private Long use; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java index abbc1fd..205904f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java @@ -2,6 +2,7 @@ package org.dromara.system.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -59,6 +60,12 @@ public class SysOssTextbook extends TenantEntity { private Long previewNum; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + @TableField(exist = false) private Long use; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/StatisticMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/StatisticMapper.java index 817d48d..3c4267c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/StatisticMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/StatisticMapper.java @@ -8,18 +8,21 @@ import java.util.List; @Mapper public interface StatisticMapper { - int selectGradeNum(@Param("tenantId") String tenantId); + int selectGradeNum(); - int selectCalssNum(@Param("tenantId") String tenantId); + int selectCalssNum(); - int selectTeacherNum(@Param("tenantId") String tenantId); + int selectTeacherNum(); - int selectTextbookNum(@Param("tenantId") String tenantId); + int selectTextbookNum(); - int selectResourceNum(@Param("tenantId") String tenantId); + int selectResourceNum(); - List selectOssUse(@Param("tenantId") String tenantId); + List selectOssUse(); + + List selectOssType4Textbook(); + + int selectUploadNum(@Param("list") List list, @Param("time") String time); - List selectOssType4Textbook(@Param("tenantId") String tenantId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysCatalogPersonMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysCatalogPersonMapper.java index da7ca6d..3d412a1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysCatalogPersonMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysCatalogPersonMapper.java @@ -17,4 +17,6 @@ public interface SysCatalogPersonMapper extends BaseMapperPlus getOssUseRank(); List getOssType(); + List getUploadNum(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssPersonService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssPersonService.java index dccaa36..6dfb2de 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssPersonService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssPersonService.java @@ -74,4 +74,6 @@ public interface ISysOssPersonService { void download(Long id, HttpServletResponse response) throws Exception; String preview(Long id); + + boolean share(SysOssPersonBo bo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/StatisticServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/StatisticServiceImpl.java index b679ded..f95ae76 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/StatisticServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/StatisticServiceImpl.java @@ -1,12 +1,14 @@ package org.dromara.system.service.impl; import lombok.RequiredArgsConstructor; -import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.common.core.utils.DateUtils; +import org.dromara.system.constant.FileTypeConstants; import org.dromara.system.domain.vo.StatisticNumVo; import org.dromara.system.mapper.StatisticMapper; import org.dromara.system.service.IStatisticService; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -23,41 +25,35 @@ public class StatisticServiceImpl implements IStatisticService { @Override public int getGradeNum() { - String tenantId = getTenantId(); - return statisticMapper.selectGradeNum(tenantId); + return statisticMapper.selectGradeNum(); } @Override public int getCalssNum() { - String tenantId = getTenantId(); - return statisticMapper.selectCalssNum(tenantId); + return statisticMapper.selectCalssNum(); } @Override public int getTeacherNum() { - String tenantId = getTenantId(); - return statisticMapper.selectTeacherNum(tenantId); + return statisticMapper.selectTeacherNum(); } @Override public int getOssNum() { - String tenantId = getTenantId(); - int textbookNum = statisticMapper.selectTextbookNum(tenantId); - int resourceNum = statisticMapper.selectResourceNum(tenantId); + int textbookNum = statisticMapper.selectTextbookNum(); + int resourceNum = statisticMapper.selectResourceNum(); return textbookNum + resourceNum; } @Override public List getOssUseRank() { - String tenantId = getTenantId(); - return statisticMapper.selectOssUse(tenantId); + return statisticMapper.selectOssUse(); } @Override public List getOssType() { - String tenantId = getTenantId(); - List statisticNumVos = statisticMapper.selectOssType4Textbook(tenantId); - int resourceNum = statisticMapper.selectResourceNum(tenantId); + List statisticNumVos = statisticMapper.selectOssType4Textbook(); + int resourceNum = statisticMapper.selectResourceNum(); StatisticNumVo resource = new StatisticNumVo(); resource.setName("专题资源"); resource.setValue(resourceNum); @@ -65,11 +61,55 @@ public class StatisticServiceImpl implements IStatisticService { return statisticNumVos; } - private String getTenantId() { - String tenantId = TenantHelper.getTenantId(); - if ("000000".equals(tenantId)) { - tenantId = null; - } - return tenantId; + @Override + public List getUploadNum() { + String today = DateUtils.getDate() + " 00:00:00"; + List list = new ArrayList<>(4); + //图片 + int imageNum = statisticMapper.selectUploadNum(FileTypeConstants.IMAGE_TYPE, null); + int imageTodayNum = statisticMapper.selectUploadNum(FileTypeConstants.IMAGE_TYPE, today); + StatisticNumVo image = new StatisticNumVo(); + image.setValue(imageNum); + image.setSpareValue(imageTodayNum); + image.setName("image"); + list.add(image); + + //文档 + List documentTypes = new ArrayList<>(); + documentTypes.addAll(FileTypeConstants.PPT_TYPE); + documentTypes.addAll(FileTypeConstants.WORD_TYPE); + documentTypes.addAll(FileTypeConstants.EXCEL_TYPE); + documentTypes.addAll(FileTypeConstants.PDF_TYPE); + documentTypes.addAll(FileTypeConstants.TXT_TYPE); + int documentNum = statisticMapper.selectUploadNum(documentTypes, null); + int documentTodayNum = statisticMapper.selectUploadNum(documentTypes, today); + StatisticNumVo document = new StatisticNumVo(); + document.setValue(documentNum); + document.setSpareValue(documentTodayNum); + document.setName("document"); + list.add(document); + + //视频 + int videoNum = statisticMapper.selectUploadNum(FileTypeConstants.VIDEO_TYPE, null); + int videoTodayNum = statisticMapper.selectUploadNum(FileTypeConstants.VIDEO_TYPE, today); + StatisticNumVo video = new StatisticNumVo(); + video.setValue(videoNum); + video.setSpareValue(videoTodayNum); + video.setName("video"); + list.add(video); + + //其他 + List otherTypes = new ArrayList<>(); + otherTypes.addAll(FileTypeConstants.AUDIO_TYPE); + otherTypes.addAll(FileTypeConstants.ZIP_TYPE); + int otherNum = statisticMapper.selectUploadNum(otherTypes, null); + int otherTodayNum = statisticMapper.selectUploadNum(otherTypes, today); + StatisticNumVo other = new StatisticNumVo(); + other.setValue(otherNum); + other.setSpareValue(otherTodayNum); + other.setName("other"); + list.add(other); + return list; } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogPersonServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogPersonServiceImpl.java index 4e38b28..3f4b40d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogPersonServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogPersonServiceImpl.java @@ -77,6 +77,7 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService { lqw.like(StringUtils.isNotBlank(bo.getCatalogName()), SysCatalogPerson::getCatalogName, bo.getCatalogName()); lqw.eq(bo.getOrderNum() != null, SysCatalogPerson::getOrderNum, bo.getOrderNum()); lqw.eq(SysCatalogPerson::getCreateBy, bo.getCreateBy()); + lqw.eq(SysCatalogPerson::getDelFlag, 0); return lqw; } @@ -88,9 +89,12 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService { */ @Override public Boolean insertByBo(SysCatalogPersonBo bo) { - SysCatalogPerson info = baseMapper.selectById(bo.getParentId()); + Long parentId = bo.getParentId(); + SysCatalogPerson info = baseMapper.selectById(parentId); + int orderNum = baseMapper.selectMaxOrderNumByParentId(parentId) + 1; SysCatalogPerson add = MapstructUtils.convert(bo, SysCatalogPerson.class); add.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + add.getParentId()); + add.setOrderNum((long) orderNum); return baseMapper.insert(add) > 0; } @@ -131,6 +135,8 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService { */ @Override public int deleteById(Long catalogId) { + SysCatalogPerson sysCatalogPerson = baseMapper.selectById(catalogId); + baseMapper.subOrderNum(sysCatalogPerson.getOrderNum(), null); return baseMapper.deleteById(catalogId); } @@ -139,6 +145,7 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService { boolean exist = baseMapper.exists(new LambdaQueryWrapper() .eq(SysCatalogPerson::getCatalogName, resource.getCatalogName()) .eq(SysCatalogPerson::getParentId, resource.getParentId()) + .eq(SysCatalogPerson::getDelFlag, 0) .ne(ObjectUtil.isNotNull(resource.getCatalogId()), SysCatalogPerson::getCatalogId, resource.getCatalogId())); return !exist; } @@ -146,12 +153,14 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService { @Override public boolean hasChildByCatalogId(Long catalogId) { return baseMapper.exists(new LambdaQueryWrapper() + .eq(SysCatalogPerson::getDelFlag, 0) .eq(SysCatalogPerson::getParentId, catalogId)); } @Override public boolean checkCatalogExistFile(Long catalogId) { return ossPersonMapper.exists(new LambdaQueryWrapper() + .eq(SysOssPerson::getDelFlag, 0) .eq(SysOssPerson::getCatalogId, catalogId)); } @@ -231,7 +240,8 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService { */ private void updateDeptChildren(Long catalogId, String newAncestors, String oldAncestors) { List children = baseMapper.selectList(new LambdaQueryWrapper() - .apply(DataBaseHelper.findInSet(catalogId, "ancestors"))); + .apply(DataBaseHelper.findInSet(catalogId, "ancestors")) + .eq(SysCatalogPerson::getDelFlag, 0)); List list = new ArrayList<>(); for (SysCatalogPerson child : children) { SysCatalogPerson resource = new SysCatalogPerson(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java index 9f9a978..1645ff1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java @@ -82,6 +82,7 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService */ @Override public TableDataInfo queryPageList(SysCatalogResourceBo bo, PageQuery pageQuery) { + //todo Page result = baseMapper.selectPageList(pageQuery.build(), bo.getCatalogId()); return TableDataInfo.build(result); } @@ -112,6 +113,7 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.like(bo.getParentId() != null, SysCatalogResource::getAncestors, bo.getParentId()); lqw.eq(bo.getType() != null, SysCatalogResource::getType, bo.getType()); + lqw.eq(SysCatalogResource::getDelFlag, 0); return lqw; } @@ -123,9 +125,12 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService */ @Override public Boolean insertByBo(SysCatalogResourceBo bo) { - SysCatalogResource info = baseMapper.selectById(bo.getParentId()); + Long parentId = bo.getParentId(); + SysCatalogResource info = baseMapper.selectById(parentId); + int orderNum = baseMapper.selectMaxOrderNumByParentId(parentId) + 1; SysCatalogResource add = MapstructUtils.convert(bo, SysCatalogResource.class); add.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + add.getParentId()); + add.setOrderNum((long) orderNum); String[] split = StringUtils.split(add.getAncestors(), StringUtils.SEPARATOR); if (split.length < 3) { add.setType(split.length); @@ -172,6 +177,8 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService */ @Override public int deleteById(Long catalogId) { + SysCatalogResource sysCatalogResource = baseMapper.selectById(catalogId); + baseMapper.subOrderNum(sysCatalogResource.getOrderNum(), null); return baseMapper.deleteById(catalogId); } @@ -180,6 +187,7 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService boolean exist = baseMapper.exists(new LambdaQueryWrapper() .eq(SysCatalogResource::getCatalogName, resource.getCatalogName()) .eq(SysCatalogResource::getParentId, resource.getParentId()) + .eq(SysCatalogResource::getDelFlag, 0) .ne(ObjectUtil.isNotNull(resource.getCatalogId()), SysCatalogResource::getCatalogId, resource.getCatalogId())); return !exist; } @@ -187,12 +195,14 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService @Override public boolean hasChildByCatalogId(Long catalogId) { return baseMapper.exists(new LambdaQueryWrapper() + .eq(SysCatalogResource::getDelFlag, 0) .eq(SysCatalogResource::getParentId, catalogId)); } @Override public boolean checkCatalogExistFile(Long catalogId) { return ossResourceMapper.exists(new LambdaQueryWrapper() + .eq(SysOssResource::getDelFlag, 0) .eq(SysOssResource::getCatalogId, catalogId)); } @@ -294,6 +304,7 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService */ private void updateDeptChildren(Long catalogId, String newAncestors, String oldAncestors) { List children = baseMapper.selectList(new LambdaQueryWrapper() + .eq(SysCatalogResource::getDelFlag, 0) .apply(DataBaseHelper.findInSet(catalogId, "ancestors"))); List list = new ArrayList<>(); for (SysCatalogResource child : children) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogTextbookServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogTextbookServiceImpl.java index e5bbfbf..65cf6c5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogTextbookServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogTextbookServiceImpl.java @@ -75,6 +75,7 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService @Override public TableDataInfo queryPageList(SysCatalogTextbookBo bo, PageQuery pageQuery) { + //todo Page result = baseMapper.selectPageUserList(pageQuery.build(), bo.getCatalogId()); return TableDataInfo.build(result); } @@ -85,6 +86,7 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService //lqw.eq(bo.getParentId() != null, SysCatalogTextbook::getParentId, bo.getParentId()); lqw.like(bo.getParentId() != null, SysCatalogTextbook::getAncestors, bo.getParentId()); lqw.le(bo.getType() != null, SysCatalogTextbook::getType, bo.getType()); + lqw.eq(SysCatalogTextbook::getDelFlag, 0); return lqw; } @@ -149,6 +151,8 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService */ @Override public int deleteById(Long catalogId) { + SysCatalogTextbook sysCatalogTextbook = baseMapper.selectById(catalogId); + baseMapper.subOrderNum(sysCatalogTextbook.getOrderNum(), null); return baseMapper.deleteById(catalogId); } @@ -157,6 +161,7 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService boolean exist = baseMapper.exists(new LambdaQueryWrapper() .eq(SysCatalogTextbook::getCatalogName, textbook.getCatalogName()) .eq(SysCatalogTextbook::getParentId, textbook.getParentId()) + .eq(SysCatalogTextbook::getDelFlag, 0) .ne(ObjectUtil.isNotNull(textbook.getCatalogId()), SysCatalogTextbook::getCatalogId, textbook.getCatalogId())); return !exist; } @@ -164,12 +169,14 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService @Override public boolean hasChildByCatalogId(Long catalogId) { return baseMapper.exists(new LambdaQueryWrapper() + .eq(SysCatalogTextbook::getDelFlag, 0) .eq(SysCatalogTextbook::getParentId, catalogId)); } @Override public boolean checkCatalogExistFile(Long catalogId) { return ossTextbookMapper.exists(new LambdaQueryWrapper() + .eq(SysOssTextbook::getDelFlag, 0) .eq(SysOssTextbook::getCatalogId, catalogId)); } @@ -277,6 +284,7 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService */ private void updateCatalogChildren(Long catalogId, String newAncestors, String oldAncestors) { List children = baseMapper.selectList(new LambdaQueryWrapper() + .eq(SysCatalogTextbook::getDelFlag, 0) .apply(DataBaseHelper.findInSet(catalogId, "ancestors"))); List list = new ArrayList<>(); for (SysCatalogTextbook child : children) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java index 61ced2f..cff699a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java @@ -18,12 +18,15 @@ import org.dromara.common.mybatis.helper.DataBaseHelper; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.domain.SysCatalogPerson; import org.dromara.system.domain.SysOssPerson; +import org.dromara.system.domain.SysOssTextbook; import org.dromara.system.domain.bo.SysOssPersonBo; import org.dromara.system.domain.vo.SysCatalogPersonVo; import org.dromara.system.domain.vo.SysOssPersonVo; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.mapper.SysOssPersonMapper; +import org.dromara.system.mapper.SysOssTextbookMapper; import org.dromara.system.service.ISysCatalogPersonService; +import org.dromara.system.service.ISysCatalogTextbookService; import org.dromara.system.service.ISysOssPersonService; import org.dromara.system.service.ISysOssService; import org.springframework.stereotype.Service; @@ -47,6 +50,10 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService { private final ISysOssService ossService; + private final SysOssTextbookMapper textbookMapper; + + private final ISysCatalogTextbookService catalogTextbookService; + /** * 查询资源-我的空间 * @@ -85,7 +92,8 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService { private Wrapper buildQueryWrapper(SysOssPersonBo bo) { QueryWrapper wrapper = Wrappers.query(); - wrapper.eq(ObjectUtil.isNotNull(bo.getCreateBy()), "op.create_by", bo.getCreateBy()) + wrapper.eq("op.del_flag", 0) + .eq(ObjectUtil.isNotNull(bo.getCreateBy()), "op.create_by", bo.getCreateBy()) .eq(ObjectUtil.isNotNull(bo.getType()), "op.type", bo.getType()) .eq(StringUtils.isNotEmpty(bo.getFileSuffix()), "op.file_suffix", bo.getFileSuffix()) .like(StringUtils.isNotEmpty(bo.getFileName()), "op.file_name", bo.getFileName()) @@ -217,4 +225,17 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService { SysOssPerson ossPerson = baseMapper.selectById(id); return ossService.getUrlById(ossPerson.getOssId()); } + + @Override + public boolean share(SysOssPersonBo bo) { + SysOssPerson ossPerson = baseMapper.selectById(bo.getId()); + SysOssTextbook date = new SysOssTextbook(); + String path = catalogTextbookService.selectCatalogNameById(bo.getCatalogId()); + date.setCatalogId(bo.getCatalogId()); + date.setFileName(ossPerson.getFileName()); + date.setFileSuffix(ossPerson.getFileSuffix()); + date.setFilePath(path); + date.setType(ossPerson.getType()); + return textbookMapper.insert(date) > 0; + } } 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 7727d61..29575d7 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 @@ -75,6 +75,7 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService { public TableDataInfo queryAwaitPageList(SysOssResourceBo bo, PageQuery pageQuery) { QueryWrapper wrapper = Wrappers.query(); wrapper.le("r.status", 0) + .eq("r.del_flag", 0) .eq(StringUtils.isNotEmpty(bo.getFileSuffix()), "r.file_suffix", bo.getFileSuffix()) .like(StringUtils.isNotEmpty(bo.getFileName()), "r.file_name", bo.getFileName()) .orderByDesc("r.create_time"); @@ -104,7 +105,8 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService { private Wrapper buildQueryWrapper(SysOssResourceBo bo) { QueryWrapper wrapper = Wrappers.query(); - wrapper.eq(ObjectUtil.isNotNull(bo.getStatus()), "r.status", bo.getStatus()) + wrapper.eq("r.del_flag", 0) + .eq(ObjectUtil.isNotNull(bo.getStatus()), "r.status", bo.getStatus()) .eq(StringUtils.isNotEmpty(bo.getFileSuffix()), "r.file_suffix", bo.getFileSuffix()) .like(StringUtils.isNotEmpty(bo.getFileName()), "r.file_name", bo.getFileName()) .and(ObjectUtil.isNotNull(bo.getCatalogId()), w -> { 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 8aaee50..cc35de6 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 @@ -1,5 +1,6 @@ package org.dromara.system.service.impl; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -15,6 +16,7 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.helper.DataBaseHelper; +import org.dromara.system.constant.FileTypeConstants; import org.dromara.system.domain.SysCatalogTextbook; import org.dromara.system.domain.SysOssTextbook; import org.dromara.system.domain.bo.SysOssTextbookBo; @@ -77,6 +79,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { QueryWrapper wrapper = Wrappers.query(); wrapper.le("ot.status", 0) + .eq("ot.del_flag", 0) .eq(StringUtils.isNotEmpty(bo.getFileSuffix()), "ot.file_suffix", bo.getFileSuffix()) .like(StringUtils.isNotEmpty(bo.getFileName()), "ot.file_name", bo.getFileName()) // .and(ObjectUtil.isNotNull(bo.getCatalogId()), w -> { @@ -96,6 +99,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { public Long countAwaitList(SysOssTextbookBo bo) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); wrapper.eq(SysOssTextbook::getStatus, -1) + .eq(SysOssTextbook::getDelFlag, 0) .eq(StringUtils.isNotEmpty(bo.getFileSuffix()), SysOssTextbook::getFileSuffix, bo.getFileSuffix()) .like(StringUtils.isNotEmpty(bo.getFileName()), SysOssTextbook::getFileName, bo.getFileName()); return baseMapper.selectCount(wrapper); @@ -114,7 +118,8 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { private Wrapper buildQueryWrapper(SysOssTextbookBo bo) { QueryWrapper wrapper = Wrappers.query(); - wrapper.eq(ObjectUtil.isNotNull(bo.getType()), "ot.type", bo.getType()) + wrapper.eq("ot.del_flag", 0) + .eq(ObjectUtil.isNotNull(bo.getType()), "ot.type", bo.getType()) .eq(ObjectUtil.isNotNull(bo.getStatus()), "ot.status", bo.getStatus()) .eq(StringUtils.isNotEmpty(bo.getFileSuffix()), "ot.file_suffix", bo.getFileSuffix()) .like(StringUtils.isNotEmpty(bo.getFileName()), "ot.file_name", bo.getFileName()) @@ -129,11 +134,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { .and(ObjectUtil.isNotNull(bo.getFormatSuffix()), w -> { Integer format = bo.getFormatSuffix(); List list = processFormatSuffixQuery(format); - if (7 == format) { - w.notIn("ot.file_suffix", list); - } else { - w.in("ot.file_suffix", list); - } + w.in(ArrayUtil.isEmpty(list), "ot.file_suffix", list); }); String orderByColumn = bo.getOrderByColumn(); if (StringUtils.isNotEmpty(orderByColumn)) { @@ -295,60 +296,36 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { } private List processFormatSuffixQuery(int format) { - List list = new ArrayList<>(18); switch (format) { case 1 -> { - list.add(".ppt"); - list.add(".pptx"); + return FileTypeConstants.PPT_TYPE; } case 2 -> { - list.add(".doc"); - list.add(".docx"); + return FileTypeConstants.WORD_TYPE; + } + case 3 -> { + return FileTypeConstants.PDF_TYPE; } - case 3 -> list.add(".pdf"); case 4 -> { - list.add(".jpg"); - list.add(".png"); - list.add(".jpeg"); - list.add(".gif"); - list.add(".bmp"); + return FileTypeConstants.IMAGE_TYPE; } case 5 -> { - list.add(".mp3"); - list.add(".wma"); + return FileTypeConstants.AUDIO_TYPE; } case 6 -> { - list.add(".mp4"); - list.add(".mov"); - list.add(".wmv"); - list.add(".flv"); - list.add(".avi"); - list.add(".mkv"); + return FileTypeConstants.VIDEO_TYPE; } case 7 -> { - list.add(".ppt"); - list.add(".pptx"); - list.add(".doc"); - list.add(".docx"); - list.add(".pdf"); - list.add(".jpg"); - list.add(".png"); - list.add(".jpeg"); - list.add(".gif"); - list.add(".bmp"); - list.add(".mp3"); - list.add(".wma"); - list.add(".mp4"); - list.add(".mov"); - list.add(".wmv"); - list.add(".flv"); - list.add(".avi"); - list.add(".mkv"); + List list = new ArrayList<>(); + list.addAll(FileTypeConstants.ZIP_TYPE); + list.addAll(FileTypeConstants.EXCEL_TYPE); + list.addAll(FileTypeConstants.TXT_TYPE); + return list; } default -> { + return null; } } - return list; } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/StatisticMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/StatisticMapper.xml index 8246968..329c0de 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/StatisticMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/StatisticMapper.xml @@ -5,50 +5,38 @@ + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogPersonMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogPersonMapper.xml index 2ffafc8..277424f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogPersonMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogPersonMapper.xml @@ -30,4 +30,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogResourceMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogResourceMapper.xml index ee4930b..a45b3e9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogResourceMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogResourceMapper.xml @@ -21,8 +21,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" cr.cover as coverUrl, count(r.id) as resourceNum from sys_catalog_resource cr - left join sys_oss_resource r on r.catalog_id = cr.catalog_id and r.status = 1 + left join sys_oss_resource r on r.catalog_id = cr.catalog_id and r.status = 1 and r.del_flag = 0 where cr.type = 2 + and cr.del_flag = 0 and cr.tenant_id = #{tenantId} group by cr.catalog_id @@ -33,6 +34,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_oss_resource r on r.catalog_id = cr.catalog_id where cr.tenant_id = #{tenantId} and r.status = 1 + and cr.del_flag = 0 + and r.del_flag = 0 and FIND_IN_SET(#{catalogId}, cr.ancestors) @@ -61,4 +64,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogTextbookMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogTextbookMapper.xml index 41f2b4a..35eaa52 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogTextbookMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysCatalogTextbookMapper.xml @@ -14,9 +14,10 @@ diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml index c64b551..1d2e219 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml @@ -2,6 +2,6 @@ - +