From fc20b8df341b8a12daa624692a264f21cf24683d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 30 Mar 2021 18:42:39 +0800
Subject: [PATCH] 20210329  跟单平仓返利记录

---
 src/test/java/com/xcong/excoin/WholeTest.java |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/src/test/java/com/xcong/excoin/WholeTest.java b/src/test/java/com/xcong/excoin/WholeTest.java
index 708ff9d..36b5d9d 100644
--- a/src/test/java/com/xcong/excoin/WholeTest.java
+++ b/src/test/java/com/xcong/excoin/WholeTest.java
@@ -115,8 +115,15 @@
      */
     @Test
     public void forceSetPriceTest() {
-        MemberEntity memberEntity = memberDao.selectById(21L);
-        CalculateUtil.getForceSetPriceForWhole("BTC/USDT", memberEntity);
+        MemberEntity memberEntity = memberDao.selectById(15L);
+        System.out.println(CalculateUtil.getForceSetPriceForWhole("BTC/USDT", memberEntity));
+    }
+
+    @Test
+    public void profitOrLessTest() {
+        MemberEntity memberEntity = memberDao.selectById(15L);
+        ContractHoldOrderEntity contractHoldOrderEntity = contractHoldOrderDao.selectById(144L);
+        System.out.println(CalculateUtil.calProfitOrLoss(contractHoldOrderEntity, memberEntity));
     }
 
     @Resource
@@ -191,4 +198,28 @@
         // 29157.72306836 --
     }
 
+    @Test
+    public void wholeForceNewTest() {
+        String symbol = "BTC/USDT";
+        MemberEntity memberEntity = memberDao.selectById(15L);
+        ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(144L);
+        List<ContractHoldOrderEntity> wholeOrders = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), null);
+        MemberWalletContractEntity wallet = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name());
+        if (CollUtil.isNotEmpty(wholeOrders)) {
+            BigDecimal totalProfitOrLoss = BigDecimal.ZERO;
+            BigDecimal otherSymbolBond = BigDecimal.ZERO;
+            for (ContractHoldOrderEntity wholeOrder : wholeOrders) {
+                BigDecimal profitOrLoss = CalculateUtil.calProfitOrLoss(wholeOrder, memberEntity);
+                totalProfitOrLoss = totalProfitOrLoss.add(profitOrLoss);
+                if (!wholeOrder.getId().equals(holdOrder.getId())) {
+                    otherSymbolBond = otherSymbolBond.add(wholeOrder.getBondAmount());
+                }
+            }
+
+            BigDecimal bond = wallet.getTotalBalance().add(totalProfitOrLoss).subtract(otherSymbolBond);
+            System.out.println(bond);
+            System.out.println(CalculateUtil.getForceSetPrice(bond, holdOrder.getOpeningPrice(), holdOrder.getSymbolCntSale(), holdOrder.getSymbolSku(), holdOrder.getOpeningType(), memberEntity));
+        }
+    }
+
 }

--
Gitblit v1.9.1