排序和门户资源统计

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 String orderByColumn;
private String isAsc;
}

View File

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

View File

@ -107,7 +107,34 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
List<Long> 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;
}

View File

@ -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;

View File

@ -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
</select>
</mapper>