Administrator
2025-12-10 081ed1a024eda884dbf52e44d32b32f240d3745f
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java
@@ -48,6 +48,8 @@
    private static final String AVGPX_KEY = "avgPx";
    private static final String STATE_KEY = "state";
    public static void handleEvent(JSONObject response, RedisUtils redisUtils) {
        log.info("开始执行OrderInfoWs......");
        try {
            JSONArray dataArray = response.getJSONArray(DATA_KEY);
            if (dataArray == null || dataArray.isEmpty()) {
@@ -59,6 +61,10 @@
                JSONObject detail = dataArray.getJSONObject(i);
                String instId = detail.getString(INSTID_KEY);
                if (!CoinEnums.HE_YUE.getCode().equals(instId)){
                    log.info( "订单详情-币种: {} 没有成交订单", CoinEnums.HE_YUE.getCode() );
                    continue;
                }
                String ordId = detail.getString(ORDID_KEY);
                String clOrdId = detail.getString(CLORDID_KEY);
                String side = detail.getString(SIDE_KEY);
@@ -76,13 +82,23 @@
                String clOrdIdStr = (String) redisUtils.get(TradeOrderWs.ORDERWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":clOrdId");
                String stateStr = (String) redisUtils.get(TradeOrderWs.ORDERWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state");
                log.info("订单详情-币种: {}, 自定义编号: {}, 订单状态: {}", CoinEnums.HE_YUE.getCode(), clOrdIdStr, stateStr);
                log.info("订单详情-币种: {}, 响应编号: {}, 订单状态: {}", CoinEnums.HE_YUE.getCode(), clOrdId, state);
                log.info("订单详情-币种: {}, 下单状态是否能转换: {}",
                        StrUtil.isNotBlank(clOrdIdStr)
                        && clOrdId.equals(clOrdIdStr)
                        && StrUtil.isNotBlank(stateStr)
                        && state.equals(stateStr));
                if (
                        clOrdIdStr != null
                        StrUtil.isNotBlank(clOrdIdStr)
                                && clOrdId.equals(clOrdIdStr)
                                && stateStr != null
                                && StrUtil.isNotBlank(stateStr)
                                && state.equals(stateStr)
                ){
                    redisUtils.set(TradeOrderWs.ORDERWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state", OrderParamEnums.STATE_1.getValue(), 0);
                    boolean setResult = redisUtils.set(InstrumentsWs.INSTRUMENTSWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state", OrderParamEnums.STATE_0.getValue(), 0);
                    if (setResult){
                        log.info("订单详情-币种: {}, 自定义编号: {}, 订单状态: {}", CoinEnums.HE_YUE.getCode(), clOrdId, OrderParamEnums.STATE_0.getValue());
                    }
                }
            }
        } catch (Exception e) {