From 314eecb211bbec4cf30b26ff6d0df6c882099f82 Mon Sep 17 00:00:00 2001 From: yahaozhang Date: Sat, 11 Oct 2025 16:36:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E7=94=A8=E6=88=B7=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E7=8A=B6=E6=80=81=E6=9F=A5=E8=AF=A2=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=BC=82=E6=AD=A5=E8=B0=83=E7=94=A8=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E9=A6=96=E6=AC=A1=E8=B0=83=E7=94=A8=E7=AB=8B=E5=8D=B3?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=EF=BC=8C=E7=AC=AC=E4=BA=8C=E6=AC=A1=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=BB=B6=E8=BF=9F30=E7=A7=92=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=E4=BB=A5=E4=BE=BF?= =?UTF-8?q?=E4=BA=8E=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/service/link/LinkStatusService.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java b/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java index 815b5b0..14dfc33 100644 --- a/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java +++ b/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java @@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional; import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; +import java.time.Duration; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.util.ArrayList; @@ -1159,9 +1160,19 @@ private UserLinkStatusResponse doGetUserLinkStatus_DEPRECATED(Long linkId, Strin try { LinkBatch linkBatch = linkBatchMapper.findById(linkTask.getBatchId()); log.info("============================================="); + + // 第一次立即调用 scriptClient.saveTotalTimes(deviceId,linkBatch.getTimes()).block(); - // saveTotalTimes方法已经包含了详细的日志记录 - log.info("codeNo:{},deviceId:{}",linkTask.getCodeNo(),deviceId); + log.info("第一次调用saveTotalTimes成功 - codeNo:{},deviceId:{}",linkTask.getCodeNo(),deviceId); + + // 30秒后异步调用第二次,不阻塞当前线程 + Mono.delay(Duration.ofSeconds(30)) + .flatMap(tick -> scriptClient.saveTotalTimes(deviceId, linkBatch.getTimes())) + .subscribe( + result -> log.info("第二次调用saveTotalTimes成功(30秒后) - codeNo:{},deviceId:{}", linkTask.getCodeNo(), deviceId), + error -> log.warn("第二次调用saveTotalTimes失败(30秒后) - codeNo:{},deviceId:{}, error:{}", linkTask.getCodeNo(), deviceId, error.getMessage()) + ); + log.info("============================================="); } catch (Exception e) {