Administrator
2025-12-17 8c199e4521b59034a3347aa20fa6404cdffc46fe
fix(okxNewPrice): 调整手续费计算逻辑并优化订单成交均价记录

- 修改 CaoZuoServiceImpl 中的手续费计算方式,去除重复乘以2的操作
- 优化 OrderInfoWs 中成交均价的记录逻辑,移除不必要的空值判断
- 确保手续费和成交均价数据准确反映实际交易情况
2 files modified
7 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
@@ -218,7 +218,7 @@
                if (pingCang != null && avgPx.compareTo(pingCang.getValue()) < 0) {
                    log.info("开始减仓...上限队列价格大于开仓价格{}>{}", pingCang.getValue(), avgPx);
                    // 手续费
                    BigDecimal feeValue = PositionsWs.getAccountMap(positionAccountName).get("fee").multiply(new BigDecimal("2"));
                    BigDecimal feeValue = PositionsWs.getAccountMap(positionAccountName).get("fee");
                    //未实现收益
                    BigDecimal uplValue = PositionsWs.getAccountMap(positionAccountName).get("upl");
                    //已实现收益
@@ -299,7 +299,7 @@
                    log.info("开始减仓...下限队列价格小于开仓价格{}<{}", kaiCang.getValue(), avgPx);
                    // 手续费
                    BigDecimal feeValue = PositionsWs.getAccountMap(positionAccountName).get("fee").multiply(new BigDecimal("2"));
                    BigDecimal feeValue = PositionsWs.getAccountMap(positionAccountName).get("fee");
                    //未实现收益
                    BigDecimal uplValue = PositionsWs.getAccountMap(positionAccountName).get("upl");
                    //已实现收益
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java
@@ -108,10 +108,9 @@
                ){
                    Map<String, String> accountMap = getAccountMap(accountName);
                    //记录成交均价
                    if (accountMap.get("orderPrice") == null){
                        log.info("成交均价: {}", avgPx);
                        WsMapBuild.saveStringToMap(accountMap, "orderPrice",avgPx);
                    }
                    WsMapBuild.saveStringToMap(TradeOrderWs.getAccountMap(accountName), "state", CoinEnums.ORDER_LIVE.getCode());
                    //保存上一个网格信息