From 1a3f2693a476338da836de84cbded66bc9dfcf42 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Thu, 08 Apr 2021 21:56:34 +0800
Subject: [PATCH] modify

---
 src/test/java/com/xcong/excoin/WholeTest.java           |    9 ++++++---
 src/main/java/com/xcong/excoin/utils/CalculateUtil.java |   20 +-------------------
 2 files changed, 7 insertions(+), 22 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..44ef082 100644
--- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
+++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -230,25 +230,7 @@
                     totalBondAmount = totalBondAmount.add(holdOrderEntity.getBondAmount());
                 }
 
-                // 盈亏
-                BigDecimal rewardRatio = BigDecimal.ZERO;
-                // 开多
-                if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
-                    // (最新价-开仓价)*规格*张数
-                    rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(contractHoldOrderEntity.getSymbolSku()).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale()));
-                    // 开空
-                } else {
-                    // (开仓价-最新价)*规格*张数
-                    rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(contractHoldOrderEntity.getSymbolSku()).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale()));
-                }
-
-                if (memberEntity.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
-                    PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
-                    if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
-                        rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam()));
-                    }
-                }
-                totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio);
+                totalProfitOrLoss = totalProfitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity));
             }
 
             // 维持保证金
diff --git a/src/test/java/com/xcong/excoin/WholeTest.java b/src/test/java/com/xcong/excoin/WholeTest.java
index 1e97f1c..2cc497a 100644
--- a/src/test/java/com/xcong/excoin/WholeTest.java
+++ b/src/test/java/com/xcong/excoin/WholeTest.java
@@ -17,6 +17,7 @@
 import com.xcong.excoin.rabbit.pricequeue.WebsocketPriceService;
 import com.xcong.excoin.rabbit.producer.OrderProducer;
 import com.xcong.excoin.utils.CalculateUtil;
+import com.xcong.excoin.utils.CoinTypeConvert;
 import com.xcong.excoin.utils.RedisUtils;
 import com.xcong.excoin.utils.ThreadPoolUtils;
 import lombok.SneakyThrows;
@@ -200,10 +201,12 @@
 
     @Test
     public void wholeForceNewTest() {
-        MemberEntity memberEntity = memberDao.selectById(15L);
-        ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(724L);
+        BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey("BTC/USDT")));
 
-        System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder, 1, BigDecimal.ZERO));
+        MemberEntity memberEntity = memberDao.selectById(22L);
+        ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(743L);
+
+        System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder, 1, newPrice));
     }
 
     @Test

--
Gitblit v1.9.1