自学内容网 自学内容网

列表分页返回对象

列表分页返回对象
仅针对于新项目,因为一般进入公司后项目都是已经搭建好的,只需要在原有框架基础上操作就可以了,但是遇到从0开始的项目并且还没有架构需要自己搭框架的时候就需要自己想办法找各种封装格式。
下面记录分页列表返回的封装格式,废话不多说,直接上代码:


import java.io.Serializable;
import java.util.List;

/**
 * 分页数据对象
 */
public class PageResult implements Serializable{
    private static final long serialVersionUID = 1L;

    /** 总记录数 */
    private long total;

    /** 列表数据 */
    private List<?> rows;

    /** 当前页 */
    private int pageNum;

    /** 每页的数量 */
    private int pageSize;

    /**
     * 表格数据对象
     */
    public PageResult()
    {
    }

    /**
     * 分页
     *
     * @param list 列表数据
     * @param total 总记录数
     * @param pageNum 当前页
     * @param pageSize 每页的数量
     */
    public PageResult(List<?> list, long total, int pageNum, int pageSize)
    {
        this.rows = list;
        this.total = total;
        this.pageNum = pageNum;
        this.pageSize = pageSize;
    }

    public long getTotal()
    {
        return total;
    }

    public void setTotal(long total)
    {
        this.total = total;
    }

    public List<?> getRows()
    {
        return rows;
    }

    public void setRows(List<?> rows)
    {
        this.rows = rows;
    }

    public int getPageNum() {
        return pageNum;
    }

    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
}

具体使用:

@PostMapping("/page")
    @ApiOperation(value = "接口的表述")
    public SwaggerAjaxResult<PageResult> page(@RequestBody StockGrainJjslDTO resParam){
        return SwaggerAjaxResult.success(stockGrainJjslService.page(resParam));
    }


@Override
    public PageResult historyList(StockGrainJjslDTO resParam) {
        resParam.setIsTrue(Boolean.TRUE.toString());
        Map<String, Company> qyMap = stockGrainService.getQyMap();
       
        Map<String, StockStorehouse> kdMap = stockGrainService.getKdMap();

        PageHelper.startPage(resParam.getPageNum(), resParam.getPageSize());

        List<StockGrainJjslVO> list = jjslHistoryService.selectList(resParam);

        PageInfo<StockGrainJjslVO> info = new PageInfo<>(list);

        if (list.isEmpty()) {
            return new PageResult(Collections.emptyList(), info.getTotal(), info.getPageNum(), info.getPageSize());
        }

        list.forEach(tmp -> {
            tmp.setQyjc(Objects.nonNull(qyMap.get(tmp.getQytyshxydm())) ? qyMap.get(tmp.getQytyshxydm()).getQyjc() : null);
            tmp.setKdjc(Objects.nonNull(kdMap.get(tmp.getKddm())) ? kdMap.get(tmp.getKddm()).getKdjc() : null);
        });

        return new PageResult(list, info.getTotal(), info.getPageNum(), info.getPageSize());
    }

个人学习笔记仅供参考。


原文地址:https://blog.csdn.net/weixin_51114236/article/details/144778863

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!