From 1fcc3c32f8755c6a9b39e38c598aa5dd9af4212f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 23 Mar 2021 18:14:46 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java |   14 ++++++++------
 1 files changed, 8 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 e88256e..9c93699 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
@@ -499,7 +499,7 @@
                 }
 
                 // 回报率
-                BigDecimal returnRate = rewardRatio.divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN);
+                BigDecimal returnRate = rewardRatio.divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getPrePaymentAmount()), 8, BigDecimal.ROUND_DOWN);
 
                 // 成本价格
                 BigDecimal costPrice = holdOrderEntity.getOpeningPrice()
@@ -512,7 +512,7 @@
 //                if (canAddMaxBond.compareTo(BigDecimal.ZERO) < 0) {
 //                    canAddMaxBond = BigDecimal.ZERO;
 //                }
-                BigDecimal canReduceMaxBond = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getPrePaymentAmount());
+                BigDecimal canReduceMaxBond = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount());
 
                 if (rewardRatio.compareTo(BigDecimal.ZERO) < 0) {
                     canReduceMaxBond = canReduceMaxBond.add(rewardRatio);
@@ -926,10 +926,12 @@
         }
         
         BigDecimal available = walletContractEntity.getAvailableBalance();
-        if (totalProfitOrLess.compareTo(BigDecimal.ZERO) <= 0) {
-            available = available.add(totalProfitOrLess);
-            if (available.compareTo(BigDecimal.ZERO) <= 0) {
-                available = BigDecimal.ZERO;
+        if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == memberEntity.getContractPositionType()) {
+            if (totalProfitOrLess.compareTo(BigDecimal.ZERO) <= 0) {
+                available = available.add(totalProfitOrLess);
+                if (available.compareTo(BigDecimal.ZERO) <= 0) {
+                    available = BigDecimal.ZERO;
+                }
             }
         }
         

--
Gitblit v1.9.1