diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssTextbookBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssTextbookBo.java index 13ddc64..2b13e0e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssTextbookBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssTextbookBo.java @@ -51,5 +51,11 @@ public class SysOssTextbookBo extends BaseEntity { private String orderByColumn; private String isAsc; + /** + * 格式后缀,门户查询使用 + * 1、PPT 2、WORD 3、PDF 4、图片 5、音频 6、视频 7、其他 + */ + private Integer formatSuffix; + } 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 b98a121..e9a52ae 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 @@ -28,6 +28,7 @@ import org.dromara.system.service.ISysOssTextbookService; import org.springframework.stereotype.Service; import java.io.IOException; +import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -75,14 +76,24 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { @Override public TableDataInfo queryAwaitPageList(SysOssTextbookBo bo, PageQuery pageQuery) { QueryWrapper wrapper = Wrappers.query(); + wrapper.le("ot.status", 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.getFormatSuffix()), w -> { + List list = catalogService.selectList(new LambdaQueryWrapper() + .select(SysCatalogTextbook::getCatalogId) + .apply(DataBaseHelper.findInSet(bo.getCatalogId(), "ancestors"))); + List ids = StreamUtils.toList(list, SysCatalogTextbook::getCatalogId); + ids.add(bo.getCatalogId()); + w.in("ot.catalog_id", ids); + }) .orderByDesc("ot.create_time"); Page result = baseMapper.selectPageAwaitList(pageQuery.build(), wrapper); return TableDataInfo.build(result); } + /** * 查询符合条件的【请填写功能名称】列表 * @@ -101,12 +112,13 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { .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 -> { - List list = catalogService.selectList(new LambdaQueryWrapper() - .select(SysCatalogTextbook::getCatalogId) - .apply(DataBaseHelper.findInSet(bo.getCatalogId(), "ancestors"))); - List ids = StreamUtils.toList(list, SysCatalogTextbook::getCatalogId); - ids.add(bo.getCatalogId()); - w.in("ot.catalog_id", ids); + Integer format = bo.getFormatSuffix(); + List list = processFormatSuffixQuery(format); + if (7 == format) { + w.notIn("ot.file_suffix", list); + } else { + w.in("ot.file_suffix", list); + } }); String orderByColumn = bo.getOrderByColumn(); if (StringUtils.isNotEmpty(orderByColumn)) { @@ -266,4 +278,60 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { ossService.preview(ossTextbook.getOssId(), response); baseMapper.addPreviewNum(id); } + + private List processFormatSuffixQuery(int format) { + List list = new ArrayList<>(18); + switch (format) { + case 1 -> { + list.add(".ppt"); + list.add(".pptx"); + } + case 2 -> { + list.add(".doc"); + list.add(".docx"); + } + case 3 -> list.add(".pdf"); + case 4 -> { + list.add(".jpg"); + list.add(".png"); + list.add(".jpeg"); + list.add(".gif"); + list.add(".bmp"); + } + case 5 -> { + list.add(".mp3"); + list.add(".wma"); + } + case 6 -> { + list.add(".mp4"); + list.add(".mov"); + list.add(".wmv"); + list.add(".flv"); + list.add(".avi"); + list.add(".mkv"); + } + 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"); + } + } + 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 3a47e60..b36acd9 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 @@ -57,20 +57,18 @@ from (select download_num as value, CONCAT(file_path, '/', file_name) as name from sys_oss_resource - - - and tenant_id = #{tenantId} - - + where status = 1 + + and tenant_id = #{tenantId} + union all select download_num as value, CONCAT(file_path, '/', file_name) as name from sys_oss_textbook - - - and tenant_id = #{tenantId} - - + where status = 1 + + and tenant_id = #{tenantId} + ) t order by t.value desc limit 10