From a7c8a8f6055e1a03414f2227d12ff2e87ec52d41 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 21 八月 2026 10:38:23 +0800
Subject: [PATCH] update

---
 backend/src/main/java/com/tourguide/api/admin/AdminGuideUserController.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/backend/src/main/java/com/tourguide/api/admin/AdminGuideUserController.java b/backend/src/main/java/com/tourguide/api/admin/AdminGuideUserController.java
index fa3b72b..fba712a 100644
--- a/backend/src/main/java/com/tourguide/api/admin/AdminGuideUserController.java
+++ b/backend/src/main/java/com/tourguide/api/admin/AdminGuideUserController.java
@@ -3,6 +3,7 @@
 import com.tourguide.common.api.ApiResponse;
 import com.tourguide.common.api.PageResponse;
 import com.tourguide.modules.user.dto.*;
+import com.tourguide.modules.user.service.GuideAutoDisableService;
 import com.tourguide.modules.user.service.GuideUserService;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.web.bind.annotation.*;
@@ -18,7 +19,13 @@
 @RequestMapping("/api/admin/guide-users")
 public class AdminGuideUserController {
     private final GuideUserService userService;
-    public AdminGuideUserController(GuideUserService userService) { this.userService = userService; }
+    private final GuideAutoDisableService autoDisableService;
+
+    public AdminGuideUserController(GuideUserService userService,
+                                    GuideAutoDisableService autoDisableService) {
+        this.userService = userService;
+        this.autoDisableService = autoDisableService;
+    }
 
     /**
      * 分页查询导游账号,支持基础关键字、状态、日期、评级、团队类型和白名单筛选。
@@ -107,6 +114,9 @@
     @PutMapping("/{id}/status")
     public ApiResponse<Void> updateStatus(@PathVariable Long id, @Valid @RequestBody UserStatusRequest request) {
         userService.updateStatus(id, request.getStatus());
+        if (request.getStatus() == GuideUserService.STATUS_ENABLED) {
+            autoDisableService.disableGuideIfEligible(id);
+        }
         return ApiResponse.success();
     }
 
@@ -120,6 +130,9 @@
     @PutMapping("/{id}/whitelist")
     public ApiResponse<Void> updateWhitelist(@PathVariable Long id, @Valid @RequestBody GuideWhitelistRequest request) {
         userService.updateWhitelist(id, request.getEnabled());
+        if (!request.getEnabled()) {
+            autoDisableService.disableGuideIfEligible(id);
+        }
         return ApiResponse.success();
     }
 
@@ -142,6 +155,8 @@
     @PutMapping("/auto-disable/config")
     public ApiResponse<GuideAutoDisableConfigResponse> updateAutoDisableConfig(
             @Valid @RequestBody GuideAutoDisableConfigRequest request) {
-        return ApiResponse.success(userService.updateAutoDisableConfig(request));
+        GuideAutoDisableConfigResponse config = userService.updateAutoDisableConfig(request);
+        autoDisableService.disableEligibleGuides();
+        return ApiResponse.success(config);
     }
 }

--
Gitblit v1.7.1