From 9eed388bf3c07dc0ea24fb0637b4964c8e387437 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 22 Dec 2025 16:45:43 +0800
Subject: [PATCH] fix(symbols): 修复K线数据获取逻辑

---
 src/main/java/com/xcong/excoin/modules/newPrice/ResponseHandler.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/newPrice/ResponseHandler.java b/src/main/java/com/xcong/excoin/modules/newPrice/ResponseHandler.java
new file mode 100644
index 0000000..53878e5
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/newPrice/ResponseHandler.java
@@ -0,0 +1,66 @@
+package com.xcong.excoin.modules.newPrice;
+
+
+import cn.hutool.json.JSONException;
+import com.xcong.excoin.common.exception.FebsException;
+import com.xcong.excoin.modules.newPrice.utils.JSONParser;
+import com.xcong.excoin.modules.newPrice.utils.OkHttpUtils;
+import okhttp3.Request;
+import okhttp3.Response;
+import okhttp3.ResponseBody;
+
+import java.io.IOException;
+
+public final class ResponseHandler {
+
+    private static final int HTTP_STATUS_CODE_400 = 400;
+    private static final int HTTP_STATUS_CODE_499 = 499;
+    private static final int HTTP_STATUS_CODE_500 = 500;
+
+    private ResponseHandler() {
+    }
+
+    public static String handleResponse(Request request, boolean showLimitUsage) {
+        try {
+            OkHttpUtils.builder();
+            try (Response response = OkHttpUtils.okHttpClient.newCall(request).execute()) {//OkHttpUtils.builder().okHttpClient
+                String responseAsString = getResponseBodyAsString(response.body());
+
+                if (response.code() >= HTTP_STATUS_CODE_400 && response.code() <= HTTP_STATUS_CODE_499) {
+                    throw handleErrorResponse(responseAsString, response.code());
+                } else if (response.code() >= HTTP_STATUS_CODE_500) {
+                    System.out.println("handleResponse:"+response.code());
+                    throw new FebsException("responseAsString-"+responseAsString+";handleResponse-"+response.code());
+                }
+                return responseAsString;
+    //            if (showLimitUsage) {
+    //                return getlimitUsage(response, responseAsString);
+    //            } else {
+    //                return responseAsString;
+    //            }
+            }
+        } catch (IOException | IllegalStateException e) {
+            e.printStackTrace();
+            throw new FebsException("[ResponseHandler] OKHTTP Error: " + e.getMessage());
+        }
+    }
+
+
+    private static FebsException handleErrorResponse(String responseBody, int responseCode) {
+        try {
+            String errorMsg = JSONParser.getJSONStringValue(responseBody, "msg");
+            int errorCode = JSONParser.getJSONIntValue(responseBody, "code");
+            return new FebsException("responseBody-"+responseBody+";errorMsg-"+errorMsg+";responseCode-"+responseCode+";errorCode-"+errorCode);
+        } catch (JSONException e) {
+            throw new FebsException("responseBody-"+responseBody+";responseCode-"+responseCode);
+        }
+    }
+
+    private static String getResponseBodyAsString(ResponseBody body) throws IOException {
+        if (null != body) {
+            return body.string();
+        } else {
+            return "";
+        }
+    }
+}

--
Gitblit v1.9.1