From ee088456e8ce53fee459886b960f3e7eb4a98838 Mon Sep 17 00:00:00 2001 From: Vincent <19330835921@163.com> Date: Sun, 21 Apr 2024 21:20:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=A8=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=8C=BA=E9=97=B4=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jyjz/xiaoyao/ocr/api/PrevailCloudApi.java | 2 ++ .../ocr/api/impl/PrevailCloudApiImpl.java | 30 +++++++++++++++++- .../ocr/controller/ApiTestController.java | 3 +- .../ocr/timerJob/PictureSourceTimerJob.java | 31 ++++++++++++------- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java index e43b1730..0adf75f6 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java @@ -36,6 +36,8 @@ public interface PrevailCloudApi { */ boolean startImageDownloadMonitoring(String localImagePath) throws Exception; + List getAllPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter); + List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java index dfce2df2..fc6cd967 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java @@ -20,8 +20,9 @@ import cn.jyjz.xiaoyao.ocr.util.httputil.HttpMethod; import cn.jyjz.xiaoyao.ocr.util.httputil.HttpParamers; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.google.common.collect.Lists; import lombok.SneakyThrows; -import org.apache.commons.compress.utils.Lists; +import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -220,6 +221,33 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { return true; } + @Override + public List getAllPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter) { + ApiPage apiPage = null; + List result = Lists.newArrayListWithCapacity(pictureSourceParameter.getPageSize()); + try { + apiPage = this.pullPictureSource(pictureSourceParameter); + } catch (Exception e) { + e.printStackTrace(); + } + + if (apiPage == null || CollectionUtils.isEmpty(apiPage.getRecords())) { + return result; + } + + result.addAll(apiPage.getRecords()); + + // 如果pageSize超过实际的数据量说明数据已经查完了 + if (apiPage.getRecords().size() < pictureSourceParameter.getPageSize()) { + return result; + } + + // 数据没查完就翻页 + pictureSourceParameter.setPageNo(pictureSourceParameter.getPageNo() + 1); + result.addAll(this.getAllPictureSourceResultApiPage(pictureSourceParameter)); + return result; + } + @Override public List getPictureSourceResultApiPage(PictureSourceParameter pictureSourceParameter) { ApiPage apiPage = null; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java index 1b093259..3a86692b 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/ApiTestController.java @@ -10,6 +10,7 @@ import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig; +import cn.jyjz.xiaoyao.ocr.api.utils.ApiPage; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Maps; @@ -277,7 +278,7 @@ public class ApiTestController { pictureSourceParameter.setTenantNo(tenantNo); pictureSourceParameter.setAccountNo(accountNo); - List resultList = prevailCloudApi.getPictureSourceResultApiPage(pictureSourceParameter); + List resultList = prevailCloudApi.getAllPictureSourceResultApiPage(pictureSourceParameter); if (CollectionUtils.isEmpty(resultList)) { continue; } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java index 2db123e1..297e99a6 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/timerJob/PictureSourceTimerJob.java @@ -9,9 +9,9 @@ import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceParameter; import cn.jyjz.xiaoyao.ocr.api.entity.PictureSourceResult; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.compress.utils.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -87,6 +87,23 @@ public class PictureSourceTimerJob { } List totalList = Lists.newArrayList(); + totalList.addAll(this.pullData(departments, departmentMap, pictureSourceParameter)); + + int count = totalList.size(); + int size = 0; + for (PictureSourceResult pictureSourceResult : totalList) { + if (pictureSourceResult.getLivePhoto() != null) { + size++; + // 将可以处理数据放入处理队列中 + TaskQueue.pictureDisposePushData(pictureSourceResult); + } + } + + System.out.println("当前区间内图片总数:" + count + "条,可处理数据:" + size + "条"); + } + + private List pullData(List departments, Map departmentMap, PictureSourceParameter pictureSourceParameter) { + List totalList = Lists.newArrayListWithCapacity(pictureSourceParameter.getPageSize()); for (Department department : departments) { if (!departmentMap.containsKey(department.getParentid())) { continue; @@ -105,16 +122,6 @@ public class PictureSourceTimerJob { totalList.addAll(resultList); } - int count = totalList.size(); - int size = 0; - for (PictureSourceResult pictureSourceResult : totalList) { - if (pictureSourceResult.getLivePhoto() != null) { - size++; - // 将可以处理数据放入处理队列中 - TaskQueue.pictureDisposePushData(pictureSourceResult); - } - } - - System.out.println("当前区间内图片总数:" + count + "条,可处理数据:" + size + "条"); + return totalList; } }