From 3886143b2242b0823d21dfdcf69658c48d0c54e7 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 23 Sep 2020 10:23:04 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 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 0287728..7c6b7c2 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 @@ -474,6 +474,11 @@ // canAddMaxBond = BigDecimal.ZERO; // } BigDecimal canReduceMaxBond = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getPrePaymentAmount()); + + if (rewardRatio.compareTo(BigDecimal.ZERO) < 0) { + canReduceMaxBond = canReduceMaxBond.add(rewardRatio); + } + if (canReduceMaxBond.compareTo(BigDecimal.ZERO) < 0) { canReduceMaxBond = BigDecimal.ZERO; } @@ -791,17 +796,18 @@ // 权益 BigDecimal equity = walletContractEntity.getTotalBalance().add(totalProfitOrLess); // 全仓模式,可用余额需随着盈亏变动 - 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); - } +// 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.setBeUsedBondAmount(beUsedBondAmount); contractMoneyInfoVo.setFrozenBondAmount(frozenBondAmount); + contractMoneyInfoVo.setAvailableBalance(walletContractEntity.getAvailableBalance()); contractMoneyInfoVo.setEquity(equity); contractMoneyInfoVo.setFeeRatio(tradeSetting.getFeeRatio()); contractMoneyInfoVo.setLeverAgeRatio(tradeSetting.getLeverageRatio()); @@ -899,7 +905,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