| | |
| | | BigDecimal leftTurnover = order.getEntrustAmount().subtract(order.getDealAmount()); |
| | | if(leftTurnover.divide(dealPrice,coinScale,BigDecimal.ROUND_DOWN) |
| | | .compareTo(BigDecimal.ZERO)==0){ |
| | | //order.setDealAmount(order.getEntrustAmount()); |
| | | order.setDealAmount(order.getEntrustAmount()); |
| | | return leftTurnover; |
| | | } |
| | | } |
| | |
| | | // 用户单成交金额 |
| | | focusedOrder.setDealAmount(focusedOrder.getDealAmount().add(turnover)); |
| | | |
| | | // 判断两个单是否完成 |
| | | 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(BigDecimal.ZERO)>0 && matchOrder.getEntrustCnt().compareTo(matchOrder.getDealCnt())<=0){ |
| | | matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); |
| | | } |
| | | |
| | | 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(BigDecimal.ZERO)>0 && focusedOrder.getEntrustCnt().compareTo(focusedOrder.getDealCnt())<=0){ |
| | | focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); |
| | | } |
| | | |
| | | //创建成交记录 |
| | | ExchangeTrade exchangeTrade = new ExchangeTrade(); |
| | |
| | | //校正市价单剩余成交额 |
| | | if (OrderCoinsEntity.TRADETYPE_MARKETPRICE == focusedOrder.getTradeType() && focusedOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY) { |
| | | BigDecimal adjustTurnover = adjustMarketOrderTurnover(focusedOrder, dealPrice); |
| | | exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); |
| | | //exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); |
| | | } else if (OrderCoinsEntity.TRADETYPE_MARKETPRICE == matchOrder.getTradeType() && matchOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY) { |
| | | BigDecimal adjustTurnover = adjustMarketOrderTurnover(matchOrder, dealPrice); |
| | | exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); |
| | | //exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); |
| | | } |
| | | // 判断两个单是否完成 |
| | | 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(BigDecimal.ZERO)>0 && matchOrder.getEntrustCnt().compareTo(matchOrder.getDealCnt())<=0){ |
| | | matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); |
| | | } |
| | | |
| | | 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(BigDecimal.ZERO)>0 && focusedOrder.getEntrustCnt().compareTo(focusedOrder.getDealCnt())<=0){ |
| | | focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); |
| | | } |
| | | |
| | | if (focusedOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY) { |