前言:

在使用若依框架的过程中,如果是查询结果数据直接返回,那么其自带的分页插件可以正常返回数据以及总条数,若是在业务逻辑层对数据进行了其他二次处理,再返回就会出现异常,无论查询了多少条,total都只会显示10导致列表分页失效,页面只能显示十条数据。

原因:
分页工具只能在数据查询出来不做任何处理的情况下使用,因为这个时候列表的总数是固定的,分页的参数可控。若依生成的代码就是遵循这个规范没有问题,而在开发时涉及到业务处理后还想要分页展示就出问题了。

解决办法:

这里总结了一个最简单的办法,直接在controller改一下即可:

将业务代码前面的startPage(); 和返回的return getDataTable(list);分别改动成下面的代码即可

 /**
     * 查询付款申请单列表
     */
    @RequiresPermissions("crm:payment:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(SkdPayment skdPayment) {
        PageDomain pageDomain = TableSupport.buildPageRequest();
        Integer pageNum = pageDomain.getPageNum();
        Integer pageSize = pageDomain.getPageSize();

        //业务查询所有符合条件的实体类
        List<SkdPayment> list = skdPaymentService.selectSkdPaymentList(skdPayment);

        //处理上面查询的list集合
        int num = list.size();
        list = list.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
        TableDataInfo rspData = new TableDataInfo();
        rspData.setRows(list);
        rspData.setTotal(num);
        return rspData;
    }

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部