美文网首页
保证数据都能轮询处理一边

保证数据都能轮询处理一边

作者: 川流不息attitude | 来源:发表于2023-10-11 17:54 被阅读0次

    保证对应条件的数据 都可以轮询一边

     @Test
        public void testPage(){
    
            int pageSize = 10;
            Page objectPage = Page.of(1, pageSize);
    
            LambdaQueryWrapper<com.example.demo.test.entity.Test> lambdaQueryWrapper = Wrappers.lambdaQuery(com.example.demo.test.entity.Test.class)
                    .isNull(com.example.demo.test.entity.Test::getName)
                    .orderByDesc(com.example.demo.test.entity.Test::getId);
            IPage<com.example.demo.test.entity.Test> infoPage = testService.page(objectPage, lambdaQueryWrapper);
            Long pages = infoPage.getPages();
            long total = infoPage.getTotal();
            updateBalanceAmount(infoPage.getRecords());
            for (int i = 1; i <= pages; i++) {
                objectPage = Page.of(i, pageSize);
                System.out.println("循环 "+i+" 次");
                infoPage = testService.page(objectPage,lambdaQueryWrapper);
    
                // 保证 数据都能轮询一边
                Long newPage = infoPage.getPages();
                long newTotal = infoPage.getTotal();
                if(total != newTotal){
                    // 重新从第一页开始
                    i = 0;
                    pages = newPage;
                    total = newTotal;
                }
                updateBalanceAmount(infoPage.getRecords());
    
            }
        }
    
        private void updateBalanceAmount(List<com.example.demo.test.entity.Test> records) {
            List<Long> ids = Lists.newArrayList();
            for (int i = 100; i < 112; i++) {
                ids.add(Long.valueOf(i));
    
            }
            records.forEach(e -> {
                System.out.println("id:"+e.getId());
            });
            records = records.stream().filter(e -> !ids.contains(e.getId())).collect(Collectors.toList());
            records.forEach(e -> {
                e.setName(e.getId()+"name");
            });
            testService.updateBatchById(records);
        }
    

    相关文章

      网友评论

          本文标题:保证数据都能轮询处理一边

          本文链接:https://www.haomeiwen.com/subject/nuqnbdtx.html