From 9cc84c71b49a861f33ad3ec3681b92f4b08ccfaa Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 09 Apr 2021 18:44:49 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/utils/CalculateUtil.java |   17 +++++++++++++----
 1 files changed, 13 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 ad6762a..93f577e 100644
--- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
+++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -211,10 +211,11 @@
      * @param contractHoldOrderEntity
      * @return
      */
-    public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity, int type, BigDecimal newPrice) {
+    public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity, int type) {
         ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class);
         MemberWalletContractDao walletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class);
         CacheSettingUtils cacheSettingUtils = SpringContextHolder.getBean(CacheSettingUtils.class);
+        RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
 
         Long memberId = memberEntity.getId();
         MemberWalletContractEntity walletContract = walletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name());
@@ -230,6 +231,11 @@
                     totalBondAmount = totalBondAmount.add(holdOrderEntity.getBondAmount());
                 }
 
+
+                BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
+                if (type == 2) {
+                    log.info("newPrice : {}", newPrice);
+                }
                 // 盈亏
                 BigDecimal rewardRatio = BigDecimal.ZERO;
                 // 开多
@@ -248,6 +254,7 @@
                         rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam()));
                     }
                 }
+
                 totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio);
             }
 
@@ -259,10 +266,11 @@
             BigDecimal ratio = contractHoldOrderEntity.getOpeningPrice().multiply(new BigDecimal("0.005"));
             // 总账户 - 维持保证金
             BigDecimal orderProfitOrLoss = walletContract.getTotalBalance().subtract(holdBond);
-            // 权益
-            BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss);
+            // 权益 - 维持保证金
+            BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss).subtract(holdBond);
+//            BigDecimal qy = BigDecimal.ZERO;
 
-            BigDecimal prefix = cost.subtract(ratio);
+            BigDecimal prefix = cost.subtract(totalBondAmount);
             BigDecimal divideChild;
             if (ContractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
                 divideChild = prefix.subtract(orderProfitOrLoss).subtract(qy);
@@ -280,6 +288,7 @@
                 log.info("ratio : {}", ratio);
                 log.info("orderProfitOrLoss : {}", orderProfitOrLoss);
                 log.info("total : {}", walletContract.getTotalBalance());
+                log.info("totalProfitOrLoss : {}", totalProfitOrLoss);
                 log.info("qy : {}", qy);
             }
         }

--
Gitblit v1.9.1