From 805da278f9719a355b3d730ef894708086d27270 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 11 Sep 2020 10:08:43 +0800 Subject: [PATCH] Merge branch 'master' into whole --- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java index 8b803fe..dba29ae 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java @@ -787,15 +787,19 @@ 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.setEquity(equity); @@ -895,7 +899,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); -- Gitblit v1.9.1