From ff3f4cf0373b4429de977c3eb866fd90e3734212 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 03 Feb 2021 17:51:47 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 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 dcd2199..15d0817 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 @@ -233,7 +233,7 @@ holdOrderEntity.setOpeningPrice(openingPrice); holdOrderEntity.setOpeningType(submitOrderDto.getOrderType()); holdOrderEntity.setMarkPrice(newPrice); - holdOrderEntity.setIsCanClosing(ContractHoldOrderEntity.ORDER_CAN_CLOSING_N); + holdOrderEntity.setIsCanClosing(ContractHoldOrderEntity.ORDER_CAN_CLOSING_Y); holdOrderEntity.setPrePaymentAmount(prePaymentAmount); holdOrderEntity.setBondAmount(bondAmount.add(openFeePrice)); holdOrderEntity.setOperateNo(1); @@ -506,6 +506,7 @@ canReduceMaxBond = BigDecimal.ZERO; } + holdOrderListVo.setBondAmount(walletContractEntity.getTotalBalance()); holdOrderListVo.setCanReduceMaxBond(canReduceMaxBond); holdOrderListVo.setCanAddMaxBond(walletContractEntity.getAvailableBalance()); holdOrderListVo.setReturnRate(returnRate); @@ -525,7 +526,7 @@ BigDecimal totalEntrustAmount = BigDecimal.ZERO; if (CollUtil.isNotEmpty(entrustOrder)) { for (ContractEntrustOrderEntity contractEntrustOrderEntity : entrustOrder) { - totalEntrustAmount.add(contractEntrustOrderEntity.getEntrustAmount()); + totalEntrustAmount = totalEntrustAmount.add(contractEntrustOrderEntity.getEntrustAmount()); } } BigDecimal riskRatio = totalHoldBond.divide(walletContractEntity.getTotalBalance().add(totalProfitOrLoss).subtract(totalEntrustAmount), 4, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)); @@ -863,10 +864,13 @@ if (equity.compareTo(BigDecimal.ZERO) <= 0) { equity = BigDecimal.ZERO; } - - BigDecimal available = walletContractEntity.getAvailableBalance().add(totalProfitOrLess); - if (available.compareTo(BigDecimal.ZERO) <= 0) { - available = BigDecimal.ZERO; + + BigDecimal available = walletContractEntity.getAvailableBalance(); + if (totalProfitOrLess.compareTo(BigDecimal.ZERO) <= 0) { + available = available.add(totalProfitOrLess); + if (available.compareTo(BigDecimal.ZERO) <= 0) { + available = BigDecimal.ZERO; + } } // 获取当日k线的开盘价 @@ -876,7 +880,7 @@ contractMoneyInfoVo.setBeUsedBondAmount(beUsedBondAmount); contractMoneyInfoVo.setFrozenBondAmount(frozenBondAmount); contractMoneyInfoVo.setEquity(equity); - contractMoneyInfoVo.setAvailableBalance(walletContractEntity.getAvailableBalance()); + contractMoneyInfoVo.setAvailableBalance(available); contractMoneyInfoVo.setFeeRatio(tradeSetting.getFeeRatio()); contractMoneyInfoVo.setLeverAgeRatio(tradeSetting.getLeverageRatio()); contractMoneyInfoVo.setNewPrice(newPriceSymbol); -- Gitblit v1.9.1