Administrator
6 days ago fe4d5467b8431ef1461bc93e4eba4f9153125da9
refactor(okxWs): 优化下单参数构建逻辑

- 将 JSONArray 和 JSONObject 的初始化移到循环外部
- 移除了不必要的 try-catch 包装块
- 统一了参数构建和发送流程
- 优化了代码结构,提高可读性
- 更新了日志信息以更好地反映发送内容
1 files modified
38 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/TradeOrderWs.java 38 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/TradeOrderWs.java
@@ -146,6 +146,9 @@
            log.warn("下单{}参数缺失,取消发送",tradeRequestParams);
            return;
        }
        JSONArray argsArray = new JSONArray();
        JSONObject args = new JSONObject();
        for (TradeRequestParam tradeRequestParam : tradeRequestParams){
            String accountName = tradeRequestParam.getAccountName();
            String markPx = tradeRequestParam.getMarkPx();
@@ -194,29 +197,22 @@
             * 平空:买入平空(side 填写 buy; posSide 填写 short ) 需要检验仓位通道是否准备就绪
             */
            try {
                JSONArray argsArray = new JSONArray();
                JSONObject args = new JSONObject();
                args.put("instId", instId);
                args.put("tdMode", tdMode);
                args.put("clOrdId", clOrdId);
                args.put("side", side);
            args.put("instId", instId);
            args.put("tdMode", tdMode);
            args.put("clOrdId", clOrdId);
            args.put("side", side);
                args.put("posSide", posSide);
                args.put("ordType", ordType);
                args.put("sz", sz);
                args.put("px", markPx);
                argsArray.add(args);
                String connId = WsParamBuild.getOrderNum(ORDERWS_CHANNEL);
                JSONObject jsonObject = WsParamBuild.buildJsonObject(connId, ORDERWS_CHANNEL, argsArray);
                webSocketClient.send(jsonObject.toJSONString());
                log.info("发送下单频道:{},数量:{}", side, sz);
            } catch (Exception e) {
                log.error("下单构建失败", e);
            }
            args.put("posSide", posSide);
            args.put("ordType", ordType);
            args.put("sz", sz);
            args.put("px", markPx);
            argsArray.add(args);
        }
        String connId = WsParamBuild.getOrderNum(ORDERWS_CHANNEL);
        JSONObject jsonObject = WsParamBuild.buildJsonObject(connId, ORDERWS_CHANNEL, argsArray);
        webSocketClient.send(jsonObject.toJSONString());
        log.info("发送止盈止损下单频道:{}",argsArray);
    }