|
|
@@ -134,26 +134,37 @@ public class ExternalChannelProcessJob {
|
|
|
log.info("已将{}条创建时间早于{}的记录标记为失败", failedCount, beforeDaysTime);
|
|
|
}
|
|
|
|
|
|
- // 1. 查询所有待处理的记录(status=0),仅查询指定时间之后的记录
|
|
|
- List<ExternalChannel> pendingList = externalChannelMapperExt.selectPendingList(QUERY_LIMIT, beforeDaysTime);
|
|
|
-
|
|
|
- if (CollectionUtils.isEmpty(pendingList)) {
|
|
|
- log.info("没有待处理的外部渠道记录");
|
|
|
- return ReturnT.SUCCESS;
|
|
|
- }
|
|
|
+ // 1. 循环分页查询并处理待处理的记录(status=0),仅查询指定时间之后的记录
|
|
|
+ int totalProcessed = 0;
|
|
|
+ int pageNum = 0;
|
|
|
+ List<ExternalChannel> pendingList;
|
|
|
+
|
|
|
+ do {
|
|
|
+ pageNum++;
|
|
|
+ pendingList = externalChannelMapperExt.selectPendingList(QUERY_LIMIT, beforeDaysTime);
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(pendingList)) {
|
|
|
+ if (pageNum == 1) {
|
|
|
+ log.info("没有待处理的外部渠道记录");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
|
|
|
- log.info("找到{}条待处理记录", pendingList.size());
|
|
|
+ log.info("第{}页, 找到{}条待处理记录", pageNum, pendingList.size());
|
|
|
|
|
|
- // 2. 逐条处理
|
|
|
- for (ExternalChannel record : pendingList) {
|
|
|
- try {
|
|
|
- processSingleRecord(record);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("处理记录异常, id={}, rootSourceId={}", record.getId(), record.getRootSourceId(), e);
|
|
|
+ // 2. 逐条处理
|
|
|
+ for (ExternalChannel record : pendingList) {
|
|
|
+ try {
|
|
|
+ processSingleRecord(record);
|
|
|
+ totalProcessed++;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("处理记录异常, id={}, rootSourceId={}", record.getId(), record.getRootSourceId(), e);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- log.info("外部渠道处理完成");
|
|
|
+ } while (pendingList.size() >= QUERY_LIMIT);
|
|
|
+
|
|
|
+ log.info("外部渠道处理完成, 共处理{}条记录", totalProcessed);
|
|
|
return ReturnT.SUCCESS;
|
|
|
} catch (Exception e) {
|
|
|
log.error("处理外部渠道记录时发生异常", e);
|