排序和门户资源统计

This commit is contained in:
cjw 2024-06-24 09:06:59 +08:00
parent 837c6cb01c
commit 27e22efbb6
5 changed files with 44 additions and 15 deletions

View File

@ -43,5 +43,8 @@ public class SysOssResourceBo extends BaseEntity {
*/ */
private Integer status; private Integer status;
private String orderByColumn;
private String isAsc;
} }

View File

@ -93,8 +93,9 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
*/ */
@Override @Override
public TableDataInfo<SysCatalogResourceVo> queryProtalPageList(SysCatalogResourceBo bo, PageQuery pageQuery) { public TableDataInfo<SysCatalogResourceVo> queryProtalPageList(SysCatalogResourceBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SysCatalogResource> lqw = buildQueryWrapper(bo); //LambdaQueryWrapper<SysCatalogResource> lqw = buildQueryWrapper(bo);
IPage<SysCatalogResourceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); //为了兼容 vo中的 @Translation(type = TransConstant.OSS_ID_TO_URL)
IPage<SysCatalogResourceVo> result = baseMapper.selectProtalPageList(pageQuery.build());
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }

View File

@ -107,7 +107,34 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
List<Long> ids = StreamUtils.toList(deptList, SysCatalogResource::getCatalogId); List<Long> ids = StreamUtils.toList(deptList, SysCatalogResource::getCatalogId);
ids.add(bo.getCatalogId()); ids.add(bo.getCatalogId());
w.in("r.catalog_id", ids); 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; return wrapper;
} }

View File

@ -111,29 +111,28 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
String orderByColumn = bo.getOrderByColumn(); String orderByColumn = bo.getOrderByColumn();
if (StringUtils.isNotEmpty(orderByColumn)) { if (StringUtils.isNotEmpty(orderByColumn)) {
String isAsc = bo.getIsAsc(); String isAsc = bo.getIsAsc();
boolean orderFlag = "ascending".equals(isAsc) ? true : false; boolean orderFlag = "ascending".equals(isAsc);
switch (orderByColumn) { switch (orderByColumn) {
case "downloadNum": case "downloadNum" -> {
if (orderFlag) { if (orderFlag) {
wrapper.orderByAsc("ot.download_num"); wrapper.orderByAsc("ot.download_num");
} else { } else {
wrapper.orderByDesc("ot.download_num"); wrapper.orderByDesc("ot.download_num");
} }
break; }
case "previewNum": case "previewNum" -> {
if (orderFlag) { if (orderFlag) {
wrapper.orderByAsc("ot.preview_num"); wrapper.orderByAsc("ot.preview_num");
} else { } else {
wrapper.orderByDesc("ot.preview_num"); wrapper.orderByDesc("ot.preview_num");
} }
break; }
case "createTime": case "createTime" -> {
if (orderFlag) { if (orderFlag) {
wrapper.orderByAsc("ot.create_time"); wrapper.orderByAsc("ot.create_time");
} }
break; }
default: default -> wrapper.orderByDesc("ot.create_time");
wrapper.orderByDesc("ot.create_time");
} }
} }
return wrapper; return wrapper;

View File

@ -25,11 +25,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select t.catalog_id as catalogId, select t.catalog_id as catalogId,
any_value(t.catalog_name) as catalogName, any_value(t.catalog_name) as catalogName,
any_value(t.create_time) as createTime, any_value(t.create_time) as createTime,
any_value(o.url) as coverUrl, any_value(t.cover) as coverUrl,
count(r.id) as resourceNum count(r.id) as resourceNum
from cte t from cte t
left join sys_oss_resource r on r.catalog_id = t.catalog_id left join sys_oss_resource r on r.catalog_id = t.catalog_id and r.status = 1
left join sys_oss o on o.oss_id = t.cover
group by t.catalog_id group by t.catalog_id
</select> </select>
</mapper> </mapper>