From eaca7c0ae42149e8bcd7e651e94a56756e7b64c7 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 05 Feb 2021 11:32:00 +0800
Subject: [PATCH] modify sms config

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 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 4f2d1cd..72452b8 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);
@@ -525,7 +525,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));
@@ -864,6 +864,14 @@
             equity = 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线的开盘价
         Candlestick symbolObject = (Candlestick) redisUtils.get(symbol);
         BigDecimal openPrice = symbolObject.getOpen();
@@ -871,7 +879,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