Administrator
2025-12-12 5ad0a0e614c3097be78589bda57e82ff7ec546e2
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/TradeOrderWs.java
@@ -40,9 +40,11 @@
            return;
        }else if (OrderParamEnums.OUT.getValue().equals(side)){
            log.info("当前状态为止损");
            side = OrderParamEnums.SELL.getValue();
            buyCnt = String.valueOf(PositionsWs.POSITIONSWSMAP.get("pos"));
        }else if (OrderParamEnums.INIT.getValue().equals(side)){
            log.info("当前状态为初始化");
            side = OrderParamEnums.BUY.getValue();
            buyCnt = InstrumentsWs.INSTRUMENTSWSMAP.get(CoinEnums.BUY_CNT.name());
        }else if (OrderParamEnums.BUY.getValue().equals(side)){
            log.info("当前状态为加仓");
@@ -50,6 +52,9 @@
        }else if (OrderParamEnums.SELL.getValue().equals(side)){
            log.info("当前状态为减仓");
            buyCnt = String.valueOf(PositionsWs.POSITIONSWSMAP.get("pos"));
        }else{
            log.warn("交易状态异常,取消发送");
            return;
        }
        if (StrUtil.isBlank(buyCnt)) {
@@ -75,10 +80,17 @@
            webSocketClient.send(jsonObject.toJSONString());
            log.info("发送下单频道:{},数量:{}", side, buyCnt);
            WsMapBuild.saveStringToMap(TRADEORDERWSMAP, "clOrdId", connId);
            WsMapBuild.saveStringToMap(TRADEORDERWSMAP, "clOrdId", clOrdId);
            WsMapBuild.saveStringToMap(TRADEORDERWSMAP, "state", CoinEnums.ORDER_FILLED.getCode());
            WsMapBuild.saveStringToMap(InstrumentsWs.INSTRUMENTSWSMAP, CoinEnums.STATE.name(), OrderParamEnums.STATE_4.getValue());
            if (OrderParamEnums.SELL.getValue().equals(side)){
                WsMapBuild.saveBigDecimalToMap(PositionsWs.POSITIONSWSMAP, "pos", BigDecimal.ZERO);
            }
            if (OrderParamEnums.BUY.getValue().equals(side)){
                WsMapBuild.saveBigDecimalToMap(PositionsWs.POSITIONSWSMAP, "pos", new BigDecimal(buyCnt));
            }
        } catch (Exception e) {
            log.error("下单构建失败", e);