Helius
2021-03-29 83162e228edc826ed9c05787f270410214e25a3b
modify
1 files modified
24 ■■■■■ changed files
src/test/java/com/xcong/excoin/WholeTest.java 24 ●●●●● patch | view | raw | blame | history
src/test/java/com/xcong/excoin/WholeTest.java
@@ -198,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));
        }
    }
}