|  |  | 
 |  |  |         MemberWalletContractEntity walletContract = walletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeConvert.convertContractTypeToCoin(symbol));
 | 
 |  |  |         List<ContractHoldOrderEntity> holdOrderEntities = holdOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberId, symbol);
 | 
 |  |  |         if (CollUtil.isNotEmpty(holdOrderEntities)) {
 | 
 |  |  |             BigDecimal totalSetPrice = BigDecimal.ZERO;
 | 
 |  |  |             int maxCnt = 0;
 | 
 |  |  |             int subCnt = 0;
 | 
 |  |  |             BigDecimal openPrice = BigDecimal.ZERO;
 | 
 |  |  |             int type = 1;
 | 
 |  |  |             BigDecimal feeAmount = BigDecimal.ZERO;
 | 
 |  |  |             BigDecimal sku = BigDecimal.ZERO;
 | 
 |  |  |             boolean flag = false;
 | 
 |  |  | 
 | 
 |  |  |             for (ContractHoldOrderEntity holdOrderEntity : holdOrderEntities) {
 | 
 |  |  |                 if (holdOrderEntity.getSymbolCntSale() == maxCnt) {
 | 
 |  |  |                     flag = true;
 | 
 |  |  |                     return;
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  |                 if (holdOrderEntity.getSymbolCntSale() > maxCnt) {
 | 
 |  |  |                     maxCnt = holdOrderEntity.getSymbolCntSale();
 | 
 |  |  |                     subCnt = holdOrderEntity.getSymbolCntSale() - maxCnt;
 | 
 |  |  |                     openPrice = holdOrderEntity.getOpeningPrice();
 | 
 |  |  |                     type = holdOrderEntity.getOpeningType();
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  |                 feeAmount = feeAmount.add(holdOrderEntity.getOpeningFeeAmount());
 | 
 |  |  |                 sku = holdOrderEntity.getSymbolSku();
 | 
 |  |  |             }
 | 
 |  |  |             BigDecimal forceSetPrice = BigDecimal.ZERO;
 | 
 |  |  |             if (!flag) {
 | 
 |  |  |                 log.info("{}, {}, {}, {}, {}", openPrice, subCnt, sku, type, maxCnt);
 | 
 |  |  |                 forceSetPrice = getForceSetPrice(walletContract.getTotalBalance().subtract(feeAmount), openPrice, subCnt, sku, type, memberEntity);
 | 
 |  |  |             }
 | 
 |  |  | 
 | 
 |  |  |             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 totalSetPrice = BigDecimal.ZERO;
 | 
 |  |  |             int totalCnt = 0;
 | 
 |  |  | 
 | 
 |  |  |             for (ContractHoldOrderEntity holdOrderEntity : holdOrderEntities) {
 | 
 |  |  | 
 |  |  |                 holdOrderDao.updateById(updateHoldOrder);
 | 
 |  |  | 
 | 
 |  |  |                 if (forceSetPrice.compareTo(BigDecimal.ZERO) >= 0) {
 | 
 |  |  | //                    sendOrderBombMsg(updateHoldOrder.getId(), updateHoldOrder.getOpeningType(), forceSetPrice, updateHoldOrder.getSymbol(), updateHoldOrder.getOperateNo());
 | 
 |  |  |                     sendOrderBombMsg(updateHoldOrder.getId(), updateHoldOrder.getOpeningType(), forceSetPrice, updateHoldOrder.getSymbol(), updateHoldOrder.getOperateNo());
 | 
 |  |  |                 }
 | 
 |  |  |             }
 | 
 |  |  | 
 | 
 |  |  |         }
 | 
 |  |  |     }
 | 
 |  |  |      */
 | 
 |  |  | 
 | 
 |  |  |     /*
 | 
 |  |  | // 多单开仓价
 |