From 090ea2c7d46a7082e978e6c0134d3fbeafaa34a0 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 16 四月 2025 16:44:20 +0800
Subject: [PATCH] 提交
---
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java | 200 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 196 insertions(+), 4 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..b47e8d0 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
@@ -6,14 +6,16 @@
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.LoginUserInfo;
+import com.doumee.dao.system.dto.LoginH5DTO;
+import com.doumee.service.business.third.model.ApiResponse;
+import com.doumee.service.business.third.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;
@@ -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,169 @@
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 LoginH5DTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ dto.setCheckCode(false);
+ LoginUserInfo user = systemLoginService.loginH5(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("/loginH5ByPhone")
+ @LoginNoRequired
+ public ApiResponse<String> loginH5ByPhone (@Validated @RequestBody LoginPhoneDTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ LoginUserInfo user = systemLoginService.loginH5ByPhone(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("PDA涓氬姟鐧诲綍")
+ @PostMapping("/loginPDA")
+ @LoginNoRequired
+ public ApiResponse<String> loginPDA (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ dto.setCheckCode(false);
+ LoginUserInfo user = systemLoginService.loginByPasswordForPda(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("/loginDriverByPhone")
+ @LoginNoRequired
+ public ApiResponse<String> loginDriverByPhone (@Validated @RequestBody LoginPhoneDTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ LoginUserInfo user = systemLoginService.loginDriverByPhone(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 LoginH5DTO 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);
+ }
+ }
+ @ApiOperation("鍙告満楠岃瘉鐮佺櫥褰�")
+ @PostMapping("/loginDriverWithCode")
+ @LoginNoRequired
+ public ApiResponse<String> loginDriverWithCode (@Validated @RequestBody LoginPhoneDTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ LoginUserInfo user = systemLoginService.loginDriverWithCode(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);
+ }
+ }
+ @ApiOperation("绠℃帶浜哄憳楠岃瘉鐮佺櫥褰�")
+ @PostMapping("/loginGkUserWithCode")
+ @LoginNoRequired
+ public ApiResponse<String> loginGkUserWithCode (@Validated @RequestBody LoginPhoneDTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ LoginUserInfo user = systemLoginService.loginGkUserWithCode(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 +234,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