liujie
2026-08-14 92a75a7b157e6fd6423df17cfd32015017bdb8c9
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);
    }
}