From 8b48c2084ec86a1a8ce542352275fb70f68a53c2 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 12 十二月 2024 11:34:37 +0800
Subject: [PATCH] 代码初始化
---
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 108 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..045f486 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,11 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.dao.system.dto.LoginDTO;
+import com.doumee.dao.system.dto.LoginPhoneDTO;
+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;
@@ -22,6 +23,7 @@
import org.springframework.web.server.ServerWebExchange;
import javax.annotation.Resource;
+import java.util.Objects;
/**
* JWT鑾峰彇浠ょ墝鍜屽埛鏂颁护鐗屾帴鍙�
@@ -39,6 +41,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 +61,83 @@
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("鐭俊楠岃瘉鐮佺櫥褰�")
+ @PostMapping("/loginByPhone")
+ @LoginNoRequired
+ public ApiResponse<String> loginByPhone (@Validated @RequestBody LoginPhoneDTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ LoginUserInfo user = systemLoginService.loginByPhone(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));
@@ -74,9 +148,41 @@
}catch (Exception e){
return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
}
+ }
+ /**
+ * 鍒锋柊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);
}
+
+ @PostMapping("/logoutForH5")
+ @ApiOperation("閫�鍑虹櫥闄�")
+ public ApiResponse<String> logoutForH5(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
+ try {
+ jwtTokenUtil.logoutForH5(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