diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssResourceBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssResourceBo.java index a0ec9c2..c587f1c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssResourceBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssResourceBo.java @@ -43,5 +43,8 @@ public class SysOssResourceBo extends BaseEntity { */ private Integer status; + private String orderByColumn; + private String isAsc; + } 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 6776f58..61e316e 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 @@ -93,8 +93,9 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService */ @Override public TableDataInfo queryProtalPageList(SysCatalogResourceBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - IPage result = baseMapper.selectVoPage(pageQuery.build(), lqw); + //LambdaQueryWrapper lqw = buildQueryWrapper(bo); + //为了兼容 vo中的 @Translation(type = TransConstant.OSS_ID_TO_URL) + IPage result = baseMapper.selectProtalPageList(pageQuery.build()); return TableDataInfo.build(result); } 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 2c5a7c2..9728952 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 @@ -107,7 +107,34 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService { List ids = StreamUtils.toList(deptList, SysCatalogResource::getCatalogId); ids.add(bo.getCatalogId()); w.in("r.catalog_id", ids); - }).orderByDesc("r.create_time"); + }); + String orderByColumn = bo.getOrderByColumn(); + if (StringUtils.isNotEmpty(orderByColumn)) { + String isAsc = bo.getIsAsc(); + boolean orderFlag = "ascending".equals(isAsc); + switch (orderByColumn) { + case "downloadNum" -> { + if (orderFlag) { + wrapper.orderByAsc("r.download_num"); + } else { + wrapper.orderByDesc("r.download_num"); + } + } + case "previewNum" -> { + if (orderFlag) { + wrapper.orderByAsc("r.preview_num"); + } else { + wrapper.orderByDesc("r.preview_num"); + } + } + case "createTime" -> { + if (orderFlag) { + wrapper.orderByAsc("r.create_time"); + } + } + default -> wrapper.orderByDesc("r.create_time"); + } + } return wrapper; } 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 9ccec4b..bd1538e 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 @@ -111,29 +111,28 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService { String orderByColumn = bo.getOrderByColumn(); if (StringUtils.isNotEmpty(orderByColumn)) { String isAsc = bo.getIsAsc(); - boolean orderFlag = "ascending".equals(isAsc) ? true : false; + boolean orderFlag = "ascending".equals(isAsc); switch (orderByColumn) { - case "downloadNum": + case "downloadNum" -> { if (orderFlag) { wrapper.orderByAsc("ot.download_num"); } else { wrapper.orderByDesc("ot.download_num"); } - break; - case "previewNum": + } + case "previewNum" -> { if (orderFlag) { wrapper.orderByAsc("ot.preview_num"); } else { wrapper.orderByDesc("ot.preview_num"); } - break; - case "createTime": + } + case "createTime" -> { if (orderFlag) { wrapper.orderByAsc("ot.create_time"); } - break; - default: - wrapper.orderByDesc("ot.create_time"); + } + default -> wrapper.orderByDesc("ot.create_time"); } } return wrapper; 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 f4e8f85..1923bf6 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 @@ -25,11 +25,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select t.catalog_id as catalogId, any_value(t.catalog_name) as catalogName, any_value(t.create_time) as createTime, - any_value(o.url) as coverUrl, + any_value(t.cover) as coverUrl, count(r.id) as resourceNum from cte t - left join sys_oss_resource r on r.catalog_id = t.catalog_id - left join sys_oss o on o.oss_id = t.cover + left join sys_oss_resource r on r.catalog_id = t.catalog_id and r.status = 1 group by t.catalog_id