From d0e43a32a5cc440368eba83a48cf4a9269da3178 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 09 Apr 2021 10:25:43 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
index c7369a3..2d3f66a 100644
--- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
+++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -211,11 +211,10 @@
* @param contractHoldOrderEntity
* @return
*/
- public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity) {
+ public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity, int type, BigDecimal newPrice) {
ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class);
MemberWalletContractDao walletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class);
- RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
- BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(contractHoldOrderEntity.getSymbol())));
+ CacheSettingUtils cacheSettingUtils = SpringContextHolder.getBean(CacheSettingUtils.class);
Long memberId = memberEntity.getId();
MemberWalletContractEntity walletContract = walletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name());
@@ -230,6 +229,7 @@
} else {
totalBondAmount = totalBondAmount.add(holdOrderEntity.getBondAmount());
}
+
totalProfitOrLoss = totalProfitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity));
}
@@ -238,7 +238,7 @@
// 成本 数量*面值*开仓价
BigDecimal cost = contractHoldOrderEntity.getSymbolSku().multiply(contractHoldOrderEntity.getOpeningPrice()).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale()));
// 费率
- BigDecimal ratio = newPrice.multiply(new BigDecimal("0.005"));
+ BigDecimal ratio = contractHoldOrderEntity.getOpeningPrice().multiply(new BigDecimal("0.005"));
// 总账户 - 维持保证金
BigDecimal orderProfitOrLoss = walletContract.getTotalBalance().subtract(holdBond);
// 权益
@@ -255,6 +255,16 @@
BigDecimal divideParent = contractHoldOrderEntity.getSymbolSku().multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale()));
forcePrice = divideChild.divide(divideParent, 8, BigDecimal.ROUND_DOWN);
+ if (type == 2) {
+ log.info("=======全仓爆仓=======");
+ log.info("holdBond : {}", holdBond);
+ log.info("cost : {}", cost);
+ log.info("ratio : {}", ratio);
+ log.info("orderProfitOrLoss : {}", orderProfitOrLoss);
+ log.info("total : {}", walletContract.getTotalBalance());
+ log.info("totalProfitOrLoss : {}", totalProfitOrLoss);
+ log.info("qy : {}", qy);
+ }
}
return forcePrice;
}
@@ -264,6 +274,7 @@
RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(holdOrderEntity.getSymbol());
BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
+ log.info("最新价为:{}", newPrice);
// 盈亏
BigDecimal rewardRatio = BigDecimal.ZERO;
--
Gitblit v1.9.1