|  |  | 
 |  |  |                 holdOrderListVo.setReturnRate(returnRate); | 
 |  |  |                 holdOrderListVo.setProfitOrLoss(rewardRatio); | 
 |  |  |                 long start = System.currentTimeMillis(); | 
 |  |  |                 log.info("开始时间 -- {}", start); | 
 |  |  | //                log.info("开始时间 -- {}", start); | 
 |  |  |                 BigDecimal forcePrice = CalculateUtil.getForceSetPriceForWhole(symbol, memberEntity); | 
 |  |  |                 long end = System.currentTimeMillis(); | 
 |  |  |                 log.info("结束时间 -- {}", end); | 
 |  |  |                 log.info("时间差 -- {}", end - start); | 
 |  |  | //                log.info("结束时间 -- {}", end); | 
 |  |  | //                log.info("时间差 -- {}", end - start); | 
 |  |  |                 holdOrderListVo.setForceClosingPrice(forcePrice); | 
 |  |  |                 resultList.add(holdOrderListVo); | 
 |  |  |                 totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio); | 
 
 |  |  | 
 |  |  |                     profitOrLoss = profitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity));
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  |                 log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolBondAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio);
 | 
 |  |  | //                log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolBondAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio);
 | 
 |  |  |                 BigDecimal sub = walletContract.getTotalBalance().add(profitOrLoss).subtract(symbolFeeAmount).subtract(totalBondAmount);
 | 
 |  |  |                 log.info("sub -- {}", sub);
 | 
 |  |  | //                log.info("sub -- {}", sub);
 | 
 |  |  |                 BigDecimal divide = sub.divide(symbolBondAmount, 8, BigDecimal.ROUND_DOWN);
 | 
 |  |  |                 log.info("divide -- {}", divide);
 | 
 |  |  | //                log.info("divide -- {}", divide);
 | 
 |  |  |                 BigDecimal divide2 = openPrice.divide(BigDecimal.valueOf(leverRatio), 8, BigDecimal.ROUND_DOWN);
 | 
 |  |  |                 log.info("divide2 -- {}", divide2);
 | 
 |  |  | //                log.info("divide2 -- {}", divide2);
 | 
 |  |  | 
 | 
 |  |  |                 BigDecimal forcePrice = openPrice.subtract(divide.multiply(divide2));
 | 
 |  |  |                 log.info("forcePrice -- {}", forcePrice);
 | 
 |  |  | //                log.info("forcePrice -- {}", forcePrice);
 | 
 |  |  |                 if (StrUtil.isBlank(currentSymbol)) {
 | 
 |  |  |                     holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol);
 | 
 |  |  |                 }
 |