下面代码镜像分页查询第二页为什么有第一页的数据? JsonPageResult result=JsonPageResult.getSuccess(''); QueryFilter filter= QueryFilterBuilder.createQueryFilter(queryData); String sortOrder = queryData.getSortOrder(); if ('asc'.equals(sortOrder)){ filter.addSortParam(new SortParam('create_time_','asc')); }else { filter.addSortParam(new SortParam('create_time_','desc')); }

    IUser curUser=ContextUtil.getCurrentUser();
    String userId=curUser.getUserId();
    List<String> groupIds=curUser.getRoles();
    /**
     * 增加租户过滤
     */
    WebUtil.handFilter(filter, ContextQuerySupport.CURRENT,ContextQuerySupport.NONE);

    IPage<BpmTask> page= bpmTaskService.getByUserId(userId,groupIds,ContextUtil.getCurrentTenantId(),filter);
    List<BpmTask> list=page.getRecords();
    List<String> instIds=new ArrayList<>();
    List<String> createBys=new ArrayList<>();
    String query=queryData.getParams().get('query');
    //在任务中显示任务执行人与候选用户
    for(BpmTask task:list){
        Set<TaskExecutor> executors=bpmTaskUserService.getTaskExecutors(task);
        instIds.add( task.getInstId());
        task.setTaskExecutors(executors);
        JPaasUser userById = userClient.getUserById(task.getCreateBy());
        if (BeanUtil.isNotEmpty(userById)&&BeanUtil.isNotEmpty(query)&&BeanUtil.isNotEmpty(userById.getFullName())&&userById.getFullName().contains(query)){
            createBys.add(task.getCreateBy());
        }

    }


    IPage<BpmTask> appPage = bpmTaskService.getByUserIdApp(userId, groupIds, ContextUtil.getCurrentTenantId(), filter,  createBys);
    List<BpmTask> records = appPage.getRecords();
    for(BpmTask task:records){
        Set<TaskExecutor> executors=bpmTaskUserService.getTaskExecutors(task);
        task.setTaskExecutors(executors);
        JPaasUser userById = userClient.getUserById(task.getCreateBy());
        if (BeanUtil.isNotEmpty(userById)&&BeanUtil.isNotEmpty(userById.getFullName())){
            task.setCreateName(userById.getFullName());
        }
    }
    if(BeanUtil.isNotEmpty(instIds)){
        Map<String, String> fieldJsonMap = bpmInstService.getFieldJsonByInstIds(instIds);
        for(BpmTask task:records){
            String fieldJson=fieldJsonMap.get(task.getInstId());
            if(StringUtils.isNotEmpty(fieldJson)){
                task.setFormJson(fieldJson);
            }
        }
    }

    result.setPageData(appPage);


    return result;具体怎么处理内容:根据给出的代码,第二页有第一页的数据的问题可能是由于在查询第二页数据时,没有正确设置分页参数导致的。可以尝试在查询第二页数据之前添加如下代码来设置分页参数:
int pageSize = queryData.getPageSize(); // 每页显示的记录数
int pageNo = queryData.getPageNo(); // 当前页码
filter.setPage(new Page<>(pageNo, pageSize));

这样可以确保在查询第二页数据时,只返回第二页的数据而不包括第一页的数据。

镜像分页查询第二页出现第一页数据的解决方法

原文地址: https://www.cveoy.top/t/topic/lPeM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录