From aca847c06e8bcbb305012c9ad420359b1a7a66a1 Mon Sep 17 00:00:00 2001 From: none Date: Tue, 28 Feb 2023 15:49:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=94=A8=E6=88=B7detail?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/LoginController.java | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java index 6063fd7..ef44119 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java @@ -3,10 +3,9 @@ package xyz.playedu.api.controller.backend; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import xyz.playedu.api.PlayEduBackendThreadLocal; +import xyz.playedu.api.bus.BackendBus; import xyz.playedu.api.constant.SystemConstant; import xyz.playedu.api.domain.AdminUser; import xyz.playedu.api.event.AdminUserLoginEvent; @@ -23,6 +22,7 @@ import xyz.playedu.api.util.RequestUtil; import java.util.Date; import java.util.HashMap; +import java.util.List; @RestController @RequestMapping("/backend/v1/auth") @@ -31,11 +31,14 @@ public class LoginController { @Autowired private AdminUserService adminUserService; + @Autowired + private BackendBus backendBus; + @Autowired private JWTService jwtService; @Autowired - private ApplicationContext context; + private ApplicationContext ctx; @PostMapping("/login") @ImageCaptchaCheckMiddleware @@ -59,7 +62,7 @@ public class LoginController { data.put("token", token.getToken()); data.put("expire", token.getExpire()); - context.publishEvent(new AdminUserLoginEvent(this, adminUser.getId(), new Date(), token.getToken(), IpUtil.getIpAddress(), adminUser.getLoginTimes())); + ctx.publishEvent(new AdminUserLoginEvent(this, adminUser.getId(), new Date(), token.getToken(), IpUtil.getIpAddress(), adminUser.getLoginTimes())); return JsonResponse.data(data); } @@ -70,4 +73,16 @@ public class LoginController { return JsonResponse.success("success"); } + @GetMapping("/detail") + public JsonResponse detail() { + AdminUser user = PlayEduBackendThreadLocal.getAdminUser(); + HashMap permissions = backendBus.adminUserPermissions(user.getId()); + + HashMap data = new HashMap<>(); + data.put("user", user); + data.put("permissions", permissions); + + return JsonResponse.data(data); + } + }