From 2e9a80416a0d2b049d8531d3666c45974ae54cc8 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 16 Mar 2022 17:07:02 +0800
Subject: [PATCH] fix

---
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
index 2c21e84..a4b957b 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcEntrustOrderServiceImpl.java
@@ -110,6 +110,7 @@
     public void modify(EntrustOrderAddDto modifyDto) {
         MemberEntity member = LoginUserUtils.getAppLoginUser();
         OtcEntrustOrder otcEntrustOrder = OtcEntrustOrderMapper.INSTANCE.entrustOrderDtoToEntity(modifyDto);
+        BigDecimal remainAmount = otcEntrustOrder.getRemainCoinAmount();
         otcEntrustOrder.setMemberId(member.getId());
 
         otcEntrustOrder.setRemainCoinAmount(modifyDto.getAmount());
@@ -139,14 +140,14 @@
         otcEntrustOrder.setTotalAmount(totalAmount);
         if (OtcEntrustOrder.ORDER_TYPE_S.equals(modifyDto.getType())) {
             MemberWalletCoinEntity coinWallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(), "USDT");
-            coinWallet.setAvailableBalance(coinWallet.getAvailableBalance().add(otcEntrustOrder.getRemainCoinAmount()));
-            if(coinWallet.getAvailableBalance().compareTo(totalAmount) < 0) {
+            coinWallet.setAvailableBalance(coinWallet.getAvailableBalance().add(remainAmount));
+            if(coinWallet.getAvailableBalance().compareTo(modifyDto.getAmount()) < 0) {
                 throw new GlobalException("可用金额不足");
             }
 
-            BigDecimal frozen = coinWallet.getFrozenBalance().subtract(otcEntrustOrder.getRemainCoinAmount());
-            coinWallet.setAvailableBalance(coinWallet.getAvailableBalance().subtract(totalAmount));
-            coinWallet.setFrozenBalance(frozen.add(totalAmount));
+            BigDecimal frozen = coinWallet.getFrozenBalance().subtract(remainAmount);
+            coinWallet.setAvailableBalance(coinWallet.getAvailableBalance().subtract(modifyDto.getAmount()));
+            coinWallet.setFrozenBalance(frozen.add(modifyDto.getAmount()));
             memberWalletCoinDao.updateById(coinWallet);
         }
 

--
Gitblit v1.9.1