From 741870d9ecf94d63a9c08e923a80f70f04812b03 Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期四, 06 三月 2025 15:51:38 +0800
Subject: [PATCH] 增加错误信息捕获

---
 iailab-plat-sdk/pom.xml                                                        |   50 ++++++++++++++++++++----
 iailab-plat-sdk/src/main/java/com/iailab/sdk/util/http/HttpClientFactory.java  |    2 
 iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java |   35 ++++++++++-------
 3 files changed, 62 insertions(+), 25 deletions(-)

diff --git a/iailab-plat-sdk/pom.xml b/iailab-plat-sdk/pom.xml
index af4e3d0..e43ea81 100644
--- a/iailab-plat-sdk/pom.xml
+++ b/iailab-plat-sdk/pom.xml
@@ -55,17 +55,49 @@
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>3.3.0</version>
-                <configuration>
-                    <archive>
-                        <manifest>
-                            <addClasspath>true</addClasspath>
-                        </manifest>
-                    </archive>
-                </configuration>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>3.6.0</version>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <descriptorRefs>
+                                <!-- 使用预定义的打包方式:将所有内容合并到 JAR 中 -->
+                                <descriptorRef>jar-with-dependencies</descriptorRef>
+                            </descriptorRefs>
+                            <!-- 指定主类 -->
+                            <archive>
+                                <manifest>
+                                    <mainClass>com.iailab.sdk.IailabPlatSdkMain</mainClass>
+                                </manifest>
+                            </archive>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
 
+<!--    <build>-->
+<!--        <plugins>-->
+<!--            <plugin>-->
+<!--                <groupId>org.apache.maven.plugins</groupId>-->
+<!--                <artifactId>maven-jar-plugin</artifactId>-->
+<!--                <version>3.3.0</version>-->
+<!--                <configuration>-->
+<!--                    <archive>-->
+<!--                        <manifest>-->
+<!--                            <addClasspath>true</addClasspath>-->
+<!--                            <classpathPrefix>lib/</classpathPrefix>-->
+<!--                            <mainClass>com.iailab.sdk.IailabPlatSdkMain</mainClass>-->
+<!--                        </manifest>-->
+<!--                    </archive>-->
+<!--                </configuration>-->
+<!--            </plugin>-->
+<!--        </plugins>-->
+<!--    </build>-->
+
 </project>
diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java
index 388ff67..c964605 100644
--- a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java
+++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java
@@ -1,9 +1,8 @@
 package com.iailab.sdk.auth.client;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.iailab.sdk.auth.client.dto.TokenDTO;
-import com.iailab.sdk.auth.client.vo.AuthLoginReqVO;
 import com.iailab.sdk.auth.config.AuthProperties;
+import com.iailab.sdk.auth.constants.ErrorCodeConstants;
 import org.springframework.core.ParameterizedTypeReference;
 import org.springframework.http.*;
 import org.springframework.stereotype.Component;
@@ -16,9 +15,7 @@
 import java.nio.charset.StandardCharsets;
 import java.util.*;
 
-import static com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST;
 import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.iailab.sdk.auth.enums.ErrorCodeConstants.*;
 
 /**
  * @author Houzhongjian
@@ -72,13 +69,22 @@
                 new HttpEntity<>(headers),
                 new ParameterizedTypeReference<Map<String, Object>>() {
                 });
-        Map<String, Object> authMap = exchange.getBody();
-        if(AUTH_BAD_CREDENTIALS.getCode().equals(authMap.get("code"))) {
-            throw exception(AUTH_BAD_CREDENTIALS);
-        } else if(AUTH_LOGIN_BAD_CREDENTIALS.getCode().equals(authMap.get("code"))) {
-            throw exception(AUTH_LOGIN_BAD_CREDENTIALS);
-        }
         Assert.isTrue(exchange.getStatusCode().is2xxSuccessful(), "响应必须是 200 成功");
+        Map<String, Object> authMap = exchange.getBody();
+        Object code = authMap.get("code");
+        if(ErrorCodeConstants.AUTH_BAD_CREDENTIALS.getCode().equals(code)) {
+            throw exception(ErrorCodeConstants.AUTH_BAD_CREDENTIALS);
+        } else if(ErrorCodeConstants.AUTH_LOGIN_BAD_CREDENTIALS.getCode().equals(code)) {
+            throw exception(ErrorCodeConstants.AUTH_LOGIN_BAD_CREDENTIALS);
+        } else if(ErrorCodeConstants.OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH.getCode().equals(code)) {
+            throw exception(ErrorCodeConstants.OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH);
+        } else if(ErrorCodeConstants.OAUTH2_CLIENT_CLIENT_SECRET_ERROR.getCode().equals(code)) {
+            throw exception(ErrorCodeConstants.OAUTH2_CLIENT_CLIENT_SECRET_ERROR);
+        } else if(ErrorCodeConstants.OAUTH2_CLIENT_NOT_EXISTS.getCode().equals(code)) {
+            throw exception(ErrorCodeConstants.OAUTH2_CLIENT_NOT_EXISTS);
+        } else if(ErrorCodeConstants.OAUTH2_CLIENT_DISABLE.getCode().equals(code)) {
+            throw exception(ErrorCodeConstants.OAUTH2_CLIENT_DISABLE);
+        }
         accessToken = authMap.get("access_token").toString();
         refreshToken = authMap.get("refresh_token").toString();
         expireTime = Long.valueOf(authMap.get("expires_time").toString());
@@ -107,7 +113,7 @@
             if (code == 401) {
                 authenticate();
             } else {
-                throw exception(AUTH_REFRESH_TOKEN_ERROR);
+                throw exception(ErrorCodeConstants.AUTH_REFRESH_TOKEN_ERROR);
             }
         } else {
             accessToken = authMap.get("access_token").toString();
@@ -131,10 +137,9 @@
         System.out.println(response);
         TokenDTO authTokenDTO = new TokenDTO();
         Map<String, Object> authMap = (Map<String, Object>)response.getBody();
-        Map<String, Object> tokenData = (Map<String, Object>)authMap.get("data");
-        authTokenDTO.setAccessToken(tokenData.get("accessToken").toString());
-        authTokenDTO.setRefreshToken(tokenData.get("refreshToken").toString());
-        authTokenDTO.setExpiresTime(Long.valueOf(tokenData.get("expiresTime").toString()));
+        authTokenDTO.setAccessToken(authMap.get("access_token").toString());
+        authTokenDTO.setRefreshToken(authMap.get("refresh_token").toString());
+        authTokenDTO.setExpiresTime(Long.valueOf(authMap.get("expires_time").toString()));
         return authTokenDTO;
     }
 
diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/util/http/HttpClientFactory.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/util/http/HttpClientFactory.java
index d775d70..8a43f41 100644
--- a/iailab-plat-sdk/src/main/java/com/iailab/sdk/util/http/HttpClientFactory.java
+++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/util/http/HttpClientFactory.java
@@ -149,7 +149,7 @@
         return null;
     }
 
-    private static   void safeClose(Closeable closeable,String errMsg){
+    private static void safeClose(Closeable closeable,String errMsg){
         try{
             if(closeable!=null)
             closeable.close();

--
Gitblit v1.9.3