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