From 91c4a7a84f91518604a12cff816ff3f4e670477b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 07 May 2026 17:30:51 +0800
Subject: [PATCH] refactor(gateApi): 简化 K线回调方法参数

---
 src/main/java/com/xcong/excoin/modules/gateApi/Example.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/Example.java b/src/main/java/com/xcong/excoin/modules/gateApi/Example.java
new file mode 100644
index 0000000..b041e48
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/Example.java
@@ -0,0 +1,75 @@
+package com.xcong.excoin.modules.gateApi;
+
+// Import classes:
+import io.gate.gateapi.ApiClient;
+import io.gate.gateapi.ApiException;
+import io.gate.gateapi.Configuration;
+import io.gate.gateapi.GateApiException;
+import io.gate.gateapi.api.FuturesApi;
+import io.gate.gateapi.auth.*;
+import io.gate.gateapi.models.*;
+import io.gate.gateapi.api.AccountApi;
+
+public class Example {
+    public static void main(String[] args) {
+        ApiClient defaultClient = Configuration.getDefaultApiClient();
+        defaultClient.setBasePath("https://api-testnet.gateapi.io/api/v4");
+//        defaultClient.setBasePath("https://api.gateio.ws/api/v4");
+
+        // Configure APIv4 authorization: apiv4
+        defaultClient.setApiKeySecret("d90ca272391992b8e74f8f92cedb21ec", "1861e4f52de4bb53369ea3208d9ede38ece4777368030f96c77d27934c46c274");
+
+        try {
+
+            String contract = "ETH_USDT";
+            String settle = "usdt";
+            //保证金模式 isolated/cross
+            String marginMode = "cross";
+            AccountApi accountApi = new AccountApi(defaultClient);
+            AccountDetail accountDetail = accountApi.getAccountDetail();
+            System.out.println(accountDetail.toString());
+
+
+            /**
+             * 获取账户余额
+             */
+            FuturesApi futuresApi = new FuturesApi(defaultClient);
+            FuturesAccount futuresAccount = futuresApi.listFuturesAccounts(settle);
+            String available = futuresAccount.getAvailable();
+            String result = "可用余额:" + available;
+            System.out.println(result);
+
+            /**
+             * 设置仓位模式
+             * 可选值:single, dual, dual_plus,分别表示单向、双向、分仓
+             */
+
+            String position_mode = "dual";
+            String positionMode = futuresAccount.getPositionMode();
+            if (!position_mode.equals(positionMode)){
+                futuresApi.setPositionMode(settle, position_mode);
+            }
+
+            /**
+             * 设置杠杆倍数
+             * 设置合理的杠杆倍数,不能为0
+             */
+            String leverage = "25";
+            futuresApi.updateContractPositionLeverageCall(
+                    settle,
+                    contract,
+                    leverage,
+                    marginMode,
+                    position_mode,
+                    null);
+        } catch (GateApiException e) {
+            System.err.println(String.format("Gate api exception, label: %s, message: %s", e.getErrorLabel(), e.getMessage()));
+            e.printStackTrace();
+        } catch (ApiException e) {
+            System.err.println("Exception when calling AccountApi#getAccountDetail");
+            System.err.println("Status code: " + e.getCode());
+            System.err.println("Response headers: " + e.getResponseHeaders());
+            e.printStackTrace();
+        }
+    }
+}

--
Gitblit v1.9.1