Преглед на файлове

fix : 兼容腾讯小游戏媒体SDK回传, 代码优化01

bilingfeng преди 4 месеца
родител
ревизия
36b1fb33e1

+ 1 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/SDKApplication.java

@@ -23,7 +23,7 @@ public class SDKApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(SDKApplication.class, args);
-        System.out.println("赞象SDK服务启动成功 <兼容腾讯小游戏媒体SDK回传, 代码优化> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象SDK服务启动成功 <兼容腾讯小游戏媒体SDK回传, 代码优化01> ( ´・・)ノ(._.`) \n" +
                 " ___________ _   __\n" +
                 "/  ___|  _  \\ | / /\n" +
                 "\\ `--.| | | | |/ / \n" +

+ 4 - 3
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/adapter/ArgumentAdapter.java

@@ -3,6 +3,7 @@ package com.zanxiang.game.module.sdk.adapter;
 import com.zanxiang.game.module.base.pojo.enums.HttpStatusEnum;
 import com.zanxiang.game.module.mybatis.entity.GameExt;
 import com.zanxiang.game.module.sdk.annotation.ValidLogin;
+import com.zanxiang.game.module.sdk.exception.TokenExpireException;
 import com.zanxiang.game.module.sdk.pojo.dto.UserTokenDTO;
 import com.zanxiang.game.module.sdk.pojo.param.UserData;
 import com.zanxiang.game.module.sdk.service.IGameExtService;
@@ -54,7 +55,7 @@ public class ArgumentAdapter implements HandlerMethodArgumentResolver {
         String token = request.getHeader("token");
         //需要登录, token不存在
         if (b && Strings.isBlank(token)) {
-            throw new BaseException(HttpStatusEnum.USER_NO_LOGIN.getMsg());
+            throw new TokenExpireException(HttpStatusEnum.USER_NO_LOGIN.getMsg());
         }
         //设备类型
         Integer deviceType = Integer.valueOf(request.getHeader("deviceType"));
@@ -85,12 +86,12 @@ public class ArgumentAdapter implements HandlerMethodArgumentResolver {
         UserTokenDTO userTokenDTO = userTokenService.getTokenInfoByTokenDevice(token, deviceType);
         if (userTokenDTO == null) {
             if (b) {
-                throw new BaseException(HttpStatusEnum.USER_NO_LOGIN.getMsg());
+                throw new TokenExpireException(HttpStatusEnum.USER_NO_LOGIN.getMsg());
             }
             return data;
         }
         if (b && userTokenDTO.getUserId() == null) {
-            throw new BaseException(HttpStatusEnum.USER_NO_LOGIN.getMsg());
+            throw new TokenExpireException(HttpStatusEnum.USER_NO_LOGIN.getMsg());
         }
         data.setUserId(userTokenDTO.getUserId());
         data.setToken(userTokenDTO.getToken());

+ 15 - 0
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/exception/TokenExpireException.java

@@ -0,0 +1,15 @@
+package com.zanxiang.game.module.sdk.exception;
+
+/**
+ * @author : lingfeng
+ * @time : 2024-08-16
+ * @description : token失效异常
+ */
+public class TokenExpireException extends RuntimeException {
+
+    private static final long serialVersionUID = 1L;
+
+    public TokenExpireException(String message) {
+        super(message);
+    }
+}

+ 9 - 0
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/handler/GlobalExceptionHandler.java

@@ -1,5 +1,6 @@
 package com.zanxiang.game.module.sdk.handler;
 
+import com.zanxiang.game.module.sdk.exception.TokenExpireException;
 import com.zanxiang.module.util.exception.BaseException;
 import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.module.web.util.ServletUtil;
@@ -21,6 +22,14 @@ import org.springframework.web.method.annotation.MethodArgumentTypeMismatchExcep
 @RestControllerAdvice
 public class GlobalExceptionHandler {
 
+    /**
+     * token失效异常
+     */
+    @ExceptionHandler(TokenExpireException.class)
+    public ResultVO<?> tokenExpireException(TokenExpireException e) {
+        return ResultVO.reLogin();
+    }
+
     /**
      * 业务异常
      */