From c224b616729a3f4cb1a9bd4415b4abe2b8688f18 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 04 Sep 2020 11:56:23 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 19 +++++++++++-------- 1 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java index 3314803..973346f 100644 --- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java +++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java @@ -2,6 +2,7 @@ import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.xcong.excoin.common.enumerates.CoinTypeEnum; import com.xcong.excoin.common.enumerates.RabbitPriceTypeEnum; @@ -85,7 +86,7 @@ * 全仓模式 -- 预估强平价 * 开仓价 - (权益 - 其他币种成本)/当前币种成本 * (开仓价 * 杠杆) */ - public static BigDecimal getForceSetPriceForWhole(@NotNull String currentSymbol, @NotNull MemberEntity memberEntity) { + public static BigDecimal getForceSetPriceForWhole(String currentSymbol, @NotNull MemberEntity memberEntity) { ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class); MemberWalletContractDao walletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class); @@ -130,19 +131,21 @@ 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); - holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol); +// log.info("forcePrice -- {}", forcePrice); + if (StrUtil.isBlank(currentSymbol)) { + holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol); + } - if (currentSymbol.equalsIgnoreCase(symbol)) { + if (symbol.equalsIgnoreCase(currentSymbol)) { result = forcePrice; } } -- Gitblit v1.9.1