From 53bc6ea0abbeb39146502a40292e6562c5a736d7 Mon Sep 17 00:00:00 2001 From: zainali5120 <512061637@qq.com> Date: Sat, 17 Oct 2020 16:27:32 +0800 Subject: [PATCH] 修复交易问题 --- src/main/java/com/xcong/excoin/trade/CoinTrader.java | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/xcong/excoin/trade/CoinTrader.java b/src/main/java/com/xcong/excoin/trade/CoinTrader.java index 4c08fb4..8ab6f28 100644 --- a/src/main/java/com/xcong/excoin/trade/CoinTrader.java +++ b/src/main/java/com/xcong/excoin/trade/CoinTrader.java @@ -333,6 +333,8 @@ if ((focusedOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_SELL && focusedOrder.getDealCnt().compareTo(focusedOrder.getEntrustCnt()) < 0) || (focusedOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY && focusedOrder.getDealAmount().compareTo(focusedOrder.getEntrustAmount()) < 0)) { logger.info("市价单未交易完成:#{}"+JSON.toJSONString(focusedOrder)); + // 打印此时的限价买单 + logger.info("此时的买单:#{}"+JSON.toJSONString(lpList)); addMarketPriceOrder(focusedOrder); } //每个订单的匹配批量推送 @@ -424,17 +426,17 @@ focusedOrder.setDealAmount(focusedOrder.getDealAmount().add(turnover)); // 判断两个单是否完成 - if(matchOrder.getEntrustAmount()!=null && matchOrder.getEntrustAmount().compareTo(matchOrder.getDealAmount())<=0){ + if(matchOrder.getEntrustAmount()!=null &&matchOrder.getEntrustAmount().compareTo(BigDecimal.ZERO)>0 && matchOrder.getEntrustAmount().compareTo(matchOrder.getDealAmount())<=0){ matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); } - if(matchOrder.getEntrustCnt()!=null && matchOrder.getEntrustCnt().compareTo(matchOrder.getDealCnt())<=0){ + if(matchOrder.getEntrustCnt()!=null &&matchOrder.getEntrustCnt().compareTo(BigDecimal.ZERO)>0 && matchOrder.getEntrustCnt().compareTo(matchOrder.getDealCnt())<=0){ matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); } - if(focusedOrder.getEntrustAmount()!=null && focusedOrder.getEntrustAmount().compareTo(focusedOrder.getDealAmount())<=0){ + if(focusedOrder.getEntrustAmount()!=null && focusedOrder.getEntrustAmount().compareTo(BigDecimal.ZERO)>0 && focusedOrder.getEntrustAmount().compareTo(focusedOrder.getDealAmount())<=0){ focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); } - if(focusedOrder.getEntrustCnt()!=null && focusedOrder.getEntrustCnt().compareTo(focusedOrder.getDealCnt())<=0){ + if(focusedOrder.getEntrustCnt()!=null &&focusedOrder.getEntrustCnt().compareTo(BigDecimal.ZERO)>0 && focusedOrder.getEntrustCnt().compareTo(focusedOrder.getDealCnt())<=0){ focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); } -- Gitblit v1.9.1