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