|  |  | 
 |  |  |         MemberWalletContractEntity walletContract = walletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeConvert.convertContractTypeToCoin(symbol));
 | 
 |  |  |         List<ContractHoldOrderEntity> holdOrderEntities = holdOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberId, symbol);
 | 
 |  |  |         if (CollUtil.isNotEmpty(holdOrderEntities)) {
 | 
 |  |  |             // 多单开仓价
 | 
 |  |  |             BigDecimal totalSetPrice = BigDecimal.ZERO;
 | 
 |  |  |             int totalCnt = 0;
 | 
 |  |  | 
 | 
 |  |  |             for (ContractHoldOrderEntity holdOrderEntity : holdOrderEntities) {
 | 
 |  |  |                 BigDecimal forceSetPrice = getForceSetPrice(walletContract.getAvailableBalance().subtract(holdOrderEntity.getOpeningFeeAmount()), holdOrderEntity.getOpeningPrice(), holdOrderEntity.getSymbolCntSale(), holdOrderEntity.getSymbolSku(), holdOrderEntity.getOpeningType(), memberEntity);
 | 
 |  |  |                 log.info("订单强平价 : {}, 订单ID : {}", forceSetPrice, holdOrderEntity.getId());
 | 
 |  |  |                 totalSetPrice = totalSetPrice.add(forceSetPrice.multiply(BigDecimal.valueOf(holdOrderEntity.getSymbolCntSale())));
 | 
 |  |  |                 totalCnt += holdOrderEntity.getSymbolCntSale();
 | 
 |  |  |             }
 | 
 |  |  | 
 | 
 |  |  |             BigDecimal forceSetPrice = totalSetPrice.divide(BigDecimal.valueOf(totalCnt), 8, BigDecimal.ROUND_DOWN);
 | 
 |  |  |             log.info("强平价 : {}", forceSetPrice);
 | 
 |  |  |             for (ContractHoldOrderEntity updateHoldOrder : holdOrderEntities) {
 | 
 |  |  |                 updateHoldOrder.setForceClosingPrice(forceSetPrice);
 | 
 |  |  |                 updateHoldOrder.setIsCanClosing(ContractHoldOrderEntity.ORDER_CAN_CLOSING_Y);
 | 
 |  |  |                 holdOrderDao.updateById(updateHoldOrder);
 | 
 |  |  | 
 | 
 |  |  |                 if (forceSetPrice.compareTo(BigDecimal.ZERO) >= 0) {
 | 
 |  |  |                     sendOrderBombMsg(updateHoldOrder.getId(), updateHoldOrder.getOpeningType(), forceSetPrice, updateHoldOrder.getSymbol(), updateHoldOrder.getOperateNo());
 | 
 |  |  |                 }
 | 
 |  |  |             }
 | 
 |  |  | 
 | 
 |  |  |         }
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     /*
 | 
 |  |  | // 多单开仓价
 | 
 |  |  |             BigDecimal moreOpenPrice = BigDecimal.ZERO;
 | 
 |  |  |             // 多单张数
 | 
 |  |  |             int moreCnt = 0;
 | 
 |  |  | 
 |  |  |                     sendOrderBombMsg(updateHoldOrder.getId(), updateHoldOrder.getOpeningType(), forceSetPrice, updateHoldOrder.getSymbol(), updateHoldOrder.getOperateNo());
 | 
 |  |  |                 }
 | 
 |  |  |             }
 | 
 |  |  |         }
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  |      */
 | 
 |  |  | 
 | 
 |  |  |     private static void sendOrderBombMsg(Long id, int type, BigDecimal forceClosingPrice, String symbol, int operateNo) {
 | 
 |  |  |         OrderModel model = null;
 |