Administrator
8 hours ago 11dc4f61fbf64cd0ddf453c39b4a964554e12d20
src/main/java/com/xcong/excoin/modules/okxApi/wsHandler/handler/OkxOrderInfoChannelHandler.java
@@ -98,18 +98,20 @@
                }
                String state = detail.getString("state");
                String accFillSz = detail.getString("accFillSz");
                String fillPnl = detail.getString("fillPnl");
                String fillPx = detail.getString("fillPx");
                String pnl = detail.getString("pnl");
                String posSide = detail.getString("posSide");
                String avgPx = detail.getString("avgPx");
                String clOrdId = detail.getString("clOrdId");
                log.info("[{}] 订单, 方向:{}, 状态:{}, 成交量:{}, 均价:{}, 盈亏:{}, 编号:{}",
                        CHANNEL_NAME, posSide, state, accFillSz, avgPx, fillPnl, clOrdId);
                log.info("[{}] 订单, 方向:{}, 状态:{}, 成交量:{}, 末笔成交价:{}, 均价:{}, 盈亏:{}, 编号:{}",
                        CHANNEL_NAME, posSide, state, accFillSz, fillPx, avgPx, pnl, clOrdId);
                if ("filled".equals(state) && accFillSz != null && new BigDecimal(accFillSz).compareTo(BigDecimal.ZERO) > 0) {
                    if (gridTradeService != null) {
                        BigDecimal pnl = fillPnl != null ? new BigDecimal(fillPnl) : BigDecimal.ZERO;
                        gridTradeService.onOrderFilled(posSide, new BigDecimal(accFillSz), pnl);
                        BigDecimal avgPxVal = avgPx != null && !avgPx.isEmpty() ? new BigDecimal(avgPx) : BigDecimal.ZERO;
                        BigDecimal pnlVal = pnl != null ? new BigDecimal(pnl) : BigDecimal.ZERO;
                        gridTradeService.onOrderFilled(posSide, new BigDecimal(accFillSz), avgPxVal, pnlVal);
                    }
                }
            }