From 92a75a7b157e6fd6423df17cfd32015017bdb8c9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 14 八月 2026 09:21:58 +0800
Subject: [PATCH] update
---
backend/src/main/java/com/tourguide/api/admin/AdminGuideUserController.java | 34 ++++++++++++++++++++++++++++++++--
1 files changed, 32 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 dd2abc0..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,11 +3,13 @@
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.*;
import javax.validation.Valid;
import java.time.LocalDate;
+import java.util.List;
/**
* 管理后台导游账号管理接口。
@@ -17,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;
+ }
/**
* 分页查询导游账号,支持基础关键字、状态、日期、评级、团队类型和白名单筛选。
@@ -71,6 +79,20 @@
return ApiResponse.success(userService.updateDetail(id, request));
}
+ @PostMapping("/{id}/scenic-configs")
+ public ApiResponse<List<GuideScenicConfigResponse>> addScenicConfig(
+ @PathVariable Long id,
+ @Valid @RequestBody GuideScenicConfigCreateRequest request) {
+ return ApiResponse.success(userService.addScenicConfig(id, request.getScenicSpotId()));
+ }
+
+ @DeleteMapping("/{id}/scenic-configs/{configId}")
+ public ApiResponse<List<GuideScenicConfigResponse>> deleteScenicConfig(
+ @PathVariable Long id,
+ @PathVariable Long configId) {
+ return ApiResponse.success(userService.deleteScenicConfig(id, configId));
+ }
+
/**
* 由后台直接创建导游账号,适用于无需走入驻审核流程的运营录入场景。
*
@@ -92,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();
}
@@ -105,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();
}
@@ -127,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