From 2dd02cb6662399f17789c0534c46fecc18ecdafd Mon Sep 17 00:00:00 2001 From: wanglei <3085637232@qq.com> Date: Sat, 27 Dec 2025 18:15:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../water/controller/web/AdminController.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/com/campus/water/controller/web/AdminController.java b/src/main/java/com/campus/water/controller/web/AdminController.java index 4c9d39d..7a81a40 100644 --- a/src/main/java/com/campus/water/controller/web/AdminController.java +++ b/src/main/java/com/campus/water/controller/web/AdminController.java @@ -155,4 +155,25 @@ public class AdminController { } } + /** + * 获取当前登录管理员信息 + */ + @GetMapping("/current") + @PreAuthorize("isAuthenticated()") // 只要登录即可访问 + @Operation(summary = "获取当前登录管理员信息", description = "返回当前登录管理员的完整信息(含角色、区域等)") + public ResponseEntity> getCurrentAdmin(Authentication authentication) { + try { + // 1. 从Authentication中获取当前登录用户名 + String currentUsername = authentication.getName(); + + // 2. 调用服务层查询完整管理员信息 + Admin currentAdmin = adminService.getAdminByName(currentUsername) + .orElseThrow(() -> new RuntimeException("当前登录用户信息不存在")); + + return ResponseEntity.ok(ResultVO.success(currentAdmin)); + } catch (Exception e) { + return ResponseEntity.ok(ResultVO.error(500, "获取当前用户信息失败:" + e.getMessage())); + } + } + } \ No newline at end of file -- 2.34.1