Helius
2020-09-22 f47dbade7fbe0ef582bf96118defbd71d6b429ca
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -787,17 +787,22 @@
        MemberLevelRateEntity rateEntity = memberLevelRateDao.selectLeverRateByMemberIdAndSymbol(memberEntity.getId(), symbol);
        ContractMoneyInfoVo contractMoneyInfoVo = new ContractMoneyInfoVo();
        // 权益
        BigDecimal equity = walletContractEntity.getTotalBalance().add(totalProfitOrLess);
        BigDecimal available = walletContractEntity.getAvailableBalance().add(totalProfitOrLess);
        if (available.compareTo(BigDecimal.ZERO) < 0) {
            available = BigDecimal.ZERO;
        }
        // 全仓模式,可用余额需随着盈亏变动
//        if (memberEntity.getContractPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ALL) {
//            BigDecimal available = walletContractEntity.getAvailableBalance().add(totalProfitOrLess);
//            if (available.compareTo(BigDecimal.ZERO) < 0) {
//                available = BigDecimal.ZERO;
//            }
//            contractMoneyInfoVo.setAvailableBalance(available);
//        }
        ContractMoneyInfoVo contractMoneyInfoVo = new ContractMoneyInfoVo();
        contractMoneyInfoVo.setAvailableBalance(available);
        contractMoneyInfoVo.setBeUsedBondAmount(beUsedBondAmount);
        contractMoneyInfoVo.setFrozenBondAmount(frozenBondAmount);
        contractMoneyInfoVo.setAvailableBalance(walletContractEntity.getAvailableBalance());
        contractMoneyInfoVo.setEquity(equity);
        contractMoneyInfoVo.setFeeRatio(tradeSetting.getFeeRatio());
        contractMoneyInfoVo.setLeverAgeRatio(tradeSetting.getLeverageRatio());
@@ -895,7 +900,7 @@
                } else {
                    BigDecimal available = walletContractEntity.getAvailableBalance();
                    BigDecimal lessAmount = thisTimeHold.subtract(available);
                    MemberEntity memberEntity = memberDao.selectById(holdOrderEntity.getId());
                    MemberEntity memberEntity = memberDao.selectById(holdOrderEntity.getMemberId());
                    memberWalletContractDao.increaseWalletContractBalanceById(available.negate(), available.negate(), null, walletContractEntity.getId());
                    BigDecimal newBondAmount = holdOrderEntity.getBondAmount().subtract(lessAmount);