From 1bea36acb582b5b403ffd4b48a1d3794eb67d794 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 27 Aug 2022 20:52:41 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java |   29 ++++++++---------------------
 1 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
index b3299b2..58bfcb8 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -32,15 +32,12 @@
 
     @Resource
     private RedisUtils redisUtils;
-
-    @Resource
-    private DappMemberService dappMemberService;
-
     @Resource
     private DappFundFlowDao dappFundFlowDao;
-
     @Resource
     private DappWalletCoinDao dappWalletCoinDao;
+    @Resource
+    private ChainProducer chainProducer;
 
 
     @Override
@@ -68,8 +65,6 @@
                 return;
             }
 
-            DappMemberEntity fromMember = dappMemberService.findByAddress(e.from, null);
-
             BigInteger tokens = e.tokens;
             BigDecimal amount = new BigDecimal(tokens.toString()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
 
@@ -86,35 +81,27 @@
                     return;
                 }
 
-                boolean hasFlow = false;
                 for (DappFundFlowEntity flow : flows) {
                     if (flow.getStatus() == 1) {
                         if (amount.compareTo(flow.getAmount().multiply(flow.getNewestPrice()).setScale(4, RoundingMode.HALF_UP)) == 0) {
-                            hasFlow = true;
                             fundFlow = flow;
                             fundFlow.setFromHash(e.log.getTransactionHash());
                             break;
                         }
                     }
                 }
-
-                if (!hasFlow) {
-                    OnlineTransferUtil.addTransferRecord(e.from, e.to, amount, e.log.getTransactionHash(), DappTransferRecordEntity.TRANSFER_SOURCE_FLAG_ONLINE, "USDT");
-                    return;
-                }
             }
-            OnlineTransferUtil.addTransferRecord(e.from, e.to, amount, e.log.getTransactionHash(), DappTransferRecordEntity.TRANSFER_SOURCE_FLAG_APPLICATION, "USDT");
 
+            if (fundFlow == null) {
+                return;
+            }
+
+            fundFlow.setAmount(fundFlow.getAmount().negate());
             // 更改状态为已同步
             fundFlow.setStatus(2);
             dappFundFlowDao.updateById(fundFlow);
 
-            synchronized (this) {
-                DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(fundFlow.getMemberId());
-                walletCoin.setTotalAmount(walletCoin.getTotalAmount().add(amount));
-                walletCoin.setAvailableAmount(walletCoin.getAvailableAmount().add(amount));
-                dappWalletCoinDao.updateById(walletCoin);
-            }
+            chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId());
         }
     }
 }

--
Gitblit v1.9.1