xiaoyong931011
2021-03-30 bb4e25fa2855f45021847d00edc1a908505d2cc3
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));
        }
    }
}