Administrator
14 hours ago a986f3571c7e18ade4665fe5999b445b5762264d
src/main/java/com/xcong/excoin/modules/gateApi/GateTradeExecutor.java
@@ -73,7 +73,8 @@
    }
    /**
     * 优雅关闭:等待 10 秒,超时则强制中断。
     * 优雅关闭:等待 10 秒让队列中的任务执行完毕,超时则强制中断。
     * 关闭后的 REST 调用将通过 CallerRunsPolicy 直接在提交线程执行。
     */
    public void shutdown() {
        executor.shutdown();
@@ -86,19 +87,36 @@
    }
    /**
     * 异步市价开多。quantity 为正数(如 "10")。
     * 异步 IOC 市价开多。quantity 为正数(如 "1")。
     *
     * @param quantity  开仓张数(正数)
     * @param onSuccess 成交成功回调(可为 null)
     * @param onFailure 成交失败回调(可为 null)
     */
    public void openLong(String quantity, Runnable onSuccess, Runnable onFailure) {
        openPosition(quantity, "t-grid-long", "开多", onSuccess, onFailure);
    }
    /**
     * 异步市价开空。quantity 为负数(如 "-10")。
     * 异步 IOC 市价开空。quantity 为负数(如 "-1")。
     *
     * @param quantity  开仓张数(负数)
     * @param onSuccess 成交成功回调(可为 null)
     * @param onFailure 成交失败回调(可为 null)
     */
    public void openShort(String quantity, Runnable onSuccess, Runnable onFailure) {
        openPosition(quantity, "t-grid-short", "开空", onSuccess, onFailure);
    }
    /**
     * 通用异步 IOC 市价下单。
     *
     * @param size      下单张数(正=开多 / 负=开空)
     * @param text      订单标记文本(如 "t-grid-long"),用于区分订单来源
     * @param label     日志标签(如 "开多"/"开空")
     * @param onSuccess 成功回调
     * @param onFailure 失败回调
     */
    private void openPosition(String size, String text, String label, Runnable onSuccess, Runnable onFailure) {
        executor.execute(() -> {
            try {