|  |  | 
 |  |  |             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) { |