From c29ce426a6ce314bc26a23cd92d226cc01825783 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 26 八月 2024 18:18:27 +0800
Subject: [PATCH] 代码初始化

---
 server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java |   72 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 2 deletions(-)

diff --git a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
index 2cbb365..1032835 100644
--- a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
+++ b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -10,10 +10,10 @@
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.system.dto.LoginDTO;
+import com.doumee.service.common.CaptchaService;
 import com.doumee.service.system.SystemLoginService;
 import com.doumee.service.system.SystemUserService;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.server.reactive.ServerHttpRequest;
@@ -39,6 +39,18 @@
 
     @Autowired
     private SystemLoginService systemLoginService;
+    @Autowired
+    private CaptchaService captchaService;
+
+    /**
+     * @author Eva.Caesar Liu
+     * @date 2023/03/21 14:49
+     */
+    @ApiOperation("鑾峰彇鍥剧墖楠岃瘉鐮�")
+    @GetMapping("/captcha")
+    public ApiResponse<CaptchaService.Captcha> getCaptcha() {
+        return ApiResponse.success(captchaService.genCaptcha());
+    }
 
     @PreventRepeat(limit = 10, lockTime = 10000)
     @ApiOperation("鐧诲綍")
@@ -47,23 +59,63 @@
     public ApiResponse<String> login (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
         try {
             ServerHttpRequest request = serverWebExchange.getRequest();
+            dto.setCheckCode(true);
             LoginUserInfo user = systemLoginService.loginByPasswordNew(dto,request);
             String token = jwtTokenUtil.generateToken(user);
             return ApiResponse.success(token);
         }catch (BusinessException e){
             return ApiResponse.failed(e.getCode(),e.getMessage());
         }catch (Exception e){
+            e.printStackTrace();
             return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
         }
     }
 
+
+    @PreventRepeat(limit = 10, lockTime = 10000)
+    @ApiOperation("H5涓氬姟鐧诲綍")
+    @PostMapping("/loginH5")
+    @LoginNoRequired
+    public ApiResponse<String> loginH5 (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
+        try {
+            ServerHttpRequest request = serverWebExchange.getRequest();
+            dto.setCheckCode(false);
+            LoginUserInfo user = systemLoginService.loginByPasswordNew(dto,request);
+            String token = jwtTokenUtil.generateToken(user);
+            return ApiResponse.success(token);
+        }catch (BusinessException e){
+            return ApiResponse.failed(e.getCode(),e.getMessage());
+        }catch (Exception e){
+            e.printStackTrace();
+            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
+        }
+    }
+
+    @PreventRepeat(limit = 10, lockTime = 10000)
+    @ApiOperation("鍙告満鐧诲綍")
+    @PostMapping("/loginDriver")
+    @LoginNoRequired
+    public ApiResponse<String> loginDriver (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
+        try {
+            ServerHttpRequest request = serverWebExchange.getRequest();
+            dto.setCheckCode(false);
+            LoginUserInfo user = systemLoginService.driverLogin(dto,request);
+            String token = jwtTokenUtil.generateToken(user);
+            return ApiResponse.success(token);
+        }catch (BusinessException e){
+            return ApiResponse.failed(e.getCode(),e.getMessage());
+        }catch (Exception e){
+            e.printStackTrace();
+            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
+        }
+    }
 
     /**
      * 鍒锋柊JWT浠ょ墝,鐢ㄦ棫鐨勪护鐗屾崲鏂扮殑浠ょ墝
      */
     @PostMapping("/refreshtoken")
     @ApiOperation("鍒锋柊token")
-    public ApiResponse<String> refreshtoken(@RequestHeader("userToken") String oldToken){
+    public ApiResponse<String> refreshtoken(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
         try {
             if(!jwtTokenUtil.isTokenExpired(oldToken)){
                 return ApiResponse.success(jwtTokenUtil.refreshToken(oldToken));
@@ -76,6 +128,22 @@
         }
 
     }
+    /**
+     * 鍒锋柊JWT浠ょ墝,鐢ㄦ棫鐨勪护鐗屾崲鏂扮殑浠ょ墝
+     */
+    @PostMapping("/logout")
+    @ApiOperation("閫�鍑虹櫥闄�")
+    public ApiResponse<String> logout(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
+        try {
+             jwtTokenUtil.logout(oldToken);
+        }catch (BusinessException e){
+            return ApiResponse.failed(e.getCode(),e.getMessage());
+        }catch (Exception e){
+            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
+        }
+        return ApiResponse.success(null);
+
+    }
 
     /**
      * 鍒锋柊JWT浠ょ墝,鐢ㄦ棫鐨勪护鐗屾崲鏂扮殑浠ょ墝

--
Gitblit v1.9.3