Commit 955b709710d16934612930416b7d4315dc0981b9

Authored by shaofan
1 parent f3db296c

修复启动报错

src/main/java/com/diligrp/rider/service/impl/WebhookServiceImpl.java
... ... @@ -13,7 +13,6 @@ import com.diligrp.rider.util.SignUtil;
13 13 import lombok.RequiredArgsConstructor;
14 14 import lombok.extern.slf4j.Slf4j;
15 15 import org.springframework.scheduling.annotation.Async;
16   -import org.springframework.scheduling.annotation.Scheduled;
17 16 import org.springframework.stereotype.Service;
18 17  
19 18 import java.net.URI;
... ... @@ -76,18 +75,6 @@ public class WebhookServiceImpl implements WebhookService {
76 75 retry(log);
77 76 }
78 77  
79   - @Scheduled(fixedDelay = 300_000)
80   - public void retryFailedWebhooks() {
81   - List<WebhookLog> logs = webhookLogMapper.selectList(new LambdaQueryWrapper<WebhookLog>()
82   - .eq(WebhookLog::getStatus, 0)
83   - .lt(WebhookLog::getRetryCount, 5)
84   - .orderByAsc(WebhookLog::getCreateTime)
85   - .last("LIMIT 20"));
86   - for (WebhookLog log : logs) {
87   - retry(log);
88   - }
89   - }
90   -
91 78 private void retry(WebhookLog webhookLog) {
92 79 OpenApp app = openAppMapper.selectById(webhookLog.getAppId());
93 80 if (app == null) return;
... ...
src/main/java/com/diligrp/rider/task/WebhookRetryTask.java 0 → 100644
  1 +package com.diligrp.rider.task;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.diligrp.rider.entity.WebhookLog;
  5 +import com.diligrp.rider.mapper.WebhookLogMapper;
  6 +import com.diligrp.rider.service.WebhookService;
  7 +import lombok.RequiredArgsConstructor;
  8 +import lombok.extern.slf4j.Slf4j;
  9 +import org.springframework.scheduling.annotation.Scheduled;
  10 +import org.springframework.stereotype.Component;
  11 +
  12 +import java.util.List;
  13 +
  14 +@Slf4j
  15 +@Component
  16 +@RequiredArgsConstructor
  17 +public class WebhookRetryTask {
  18 +
  19 + private final WebhookLogMapper webhookLogMapper;
  20 + private final WebhookService webhookService;
  21 +
  22 + @Scheduled(fixedDelay = 300_000)
  23 + public void retryFailedWebhooks() {
  24 + List<WebhookLog> logs = webhookLogMapper.selectList(new LambdaQueryWrapper<WebhookLog>()
  25 + .eq(WebhookLog::getStatus, 0)
  26 + .lt(WebhookLog::getRetryCount, 5)
  27 + .orderByAsc(WebhookLog::getCreateTime)
  28 + .last("LIMIT 20"));
  29 + for (WebhookLog webhookLog : logs) {
  30 + try {
  31 + webhookService.retry(webhookLog.getId());
  32 + } catch (Exception e) {
  33 + log.warn("Webhook 自动重试失败 logId={}", webhookLog.getId(), e);
  34 + }
  35 + }
  36 + }
  37 +}
... ...