update 优化假分页方法

This commit is contained in:
AprilWind 2025-05-12 16:51:58 +08:00
parent 97caabe0a2
commit 553fca28a2
2 changed files with 17 additions and 7 deletions

View File

@ -1,5 +1,6 @@
package org.dromara.common.mybatis.core.page;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;
@ -88,4 +89,19 @@ public class TableDataInfo<T> implements Serializable {
return rspData;
}
/**
* 根据原始数据列表和分页参数构建表格分页数据对象用于假分页
*
* @param list 原始数据列表全部数据
* @param page 分页参数对象包含当前页码每页大小等
* @return 构造好的分页结果 TableDataInfo<T>
*/
public static <T> TableDataInfo<T> build(List<T> list, IPage<T> page) {
if (CollUtil.isEmpty(list)) {
return TableDataInfo.build();
}
List<T> pageList = CollUtil.page((int) page.getCurrent() - 1, (int) page.getSize(), list);
return new TableDataInfo(pageList, list.size());
}
}

View File

@ -9,7 +9,6 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
@ -168,12 +167,7 @@ public class GenTableServiceImpl implements IGenTableService {
return gen;
}).sorted(Comparator.comparing(GenTable::getCreateTime).reversed())
.toList();
IPage<GenTable> page = pageQuery.build();
page.setTotal(tables.size());
// 手动分页 set数据
page.setRecords(CollUtil.page((int) page.getCurrent() - 1, (int) page.getSize(), tables));
return TableDataInfo.build(page);
return TableDataInfo.build(tables, pageQuery.build());
}
/**