From 39f6fca28e3f78abe48f08e474ec011abb990b36 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 09 九月 2026 10:39:21 +0800
Subject: [PATCH] update
---
backend/src/main/java/com/tourguide/modules/user/service/GuideAutoDisableService.java | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/backend/src/main/java/com/tourguide/modules/user/service/GuideAutoDisableService.java b/backend/src/main/java/com/tourguide/modules/user/service/GuideAutoDisableService.java
index 73ad394..3b6260b 100644
--- a/backend/src/main/java/com/tourguide/modules/user/service/GuideAutoDisableService.java
+++ b/backend/src/main/java/com/tourguide/modules/user/service/GuideAutoDisableService.java
@@ -47,8 +47,15 @@
@Scheduled(fixedDelayString = "${tourguide.guide.auto-disable-scan-delay-millis:60000}")
@Transactional
public void disableEligibleGuides() {
+ synchronizeGuideStatuses();
+ }
+
+ @Transactional
+ public void synchronizeGuideStatuses() {
GuideAutoDisableConfig config = configMapper.selectById(1);
if (!valid(config)) return;
+ restoreGuidesNoLongerEligible(config);
+
Long lastGuideId = null;
do {
List<GuideUser> candidates = selectCandidates(config, lastGuideId);
@@ -99,6 +106,14 @@
guide.getId(), guide.getAcceptedOrderCount(), guide.getRating());
}
+ private void restoreGuidesNoLongerEligible(GuideAutoDisableConfig config) {
+ int restored = guideUserMapper.restoreAutoDisabledGuidesNoLongerEligible(
+ config.getOrderThreshold(), config.getRatingThreshold());
+ if (restored > 0) {
+ log.info("Restored automatically disabled guides after rule reconciliation, count={}", restored);
+ }
+ }
+
private boolean hasActiveServiceOrder(Long guideId) {
return orderMapper.selectCount(new LambdaQueryWrapper<TourOrder>()
.eq(TourOrder::getGuideId, guideId)
--
Gitblit v1.7.1