From faaf907706c62c81c2a91092b950b30c89159afc Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 17 Mar 2025 17:37:52 +0800
Subject: [PATCH] refactor(common): 优化文件上传逻辑

---
 src/main/java/cc/mrbird/febs/mall/chain/ercCoin/BscUsdtContractEvent.java |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/chain/ercCoin/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/mall/chain/ercCoin/BscUsdtContractEvent.java
index a6494c8..1f4fbca 100644
--- a/src/main/java/cc/mrbird/febs/mall/chain/ercCoin/BscUsdtContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/mall/chain/ercCoin/BscUsdtContractEvent.java
@@ -2,6 +2,8 @@
 
 import cc.mrbird.febs.common.enumerates.RunVipDataDictionaryEnum;
 import cc.mrbird.febs.common.enumerates.YesOrNoEnum;
+import cc.mrbird.febs.common.utils.AppContants;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.entity.MallCharge;
 import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.mapper.MallChargeMapper;
@@ -29,15 +31,18 @@
     private MallChargeMapper mallChargeMapper;
     @Resource
     private AgentProducer agentProducer;
+    @Resource
+    private RedisUtils redisUtils;
 
     @Override
     public void sdmUSDT(EthUsdtContract.TransferEventResponse e) {
         if (e.to == null) {
             return;
         }
-        String sysAddress = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS_BSC.getType(),  RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS_BSC.getCode()
-        ).getValue();
+//        String sysAddress = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS_BSC.getType(),  RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS_BSC.getCode()
+//        ).getValue();
+        String sysAddress = "0x056454C4f080D3574E9E697dBBc05031d070BaA0";
         String type = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 RunVipDataDictionaryEnum.CHARGE_TYPE_BSC.getType(),  RunVipDataDictionaryEnum.CHARGE_TYPE_BSC.getCode()
         ).getValue();
@@ -70,11 +75,22 @@
             BigInteger tokens = e.tokens;
             BigDecimal amount = new BigDecimal(tokens.toString())
                     .divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN)
-                    .setScale(2,BigDecimal.ROUND_DOWN);
+                    .setScale(2,RoundingMode.DOWN);
+
+
+            String chargeRedis = redisUtils.getString(AppContants.CHARGE_AMOUNT_PROFIX + amount);
+            if (StrUtil.isBlank(chargeRedis)) {
+                log.info("Redis未扫描到充值金额:{}",transactionHash);
+                return;
+            }else{
+                redisUtils.del(AppContants.CHARGE_AMOUNT_PROFIX + amount);
+                log.info("Redis扫描到充值记录:{},{}",transactionHash,chargeRedis);
+            }
+
             LambdaQueryWrapper<MallCharge> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(MallCharge::getAddress, fromAddress);
             queryWrapper.eq(MallCharge::getSysAddress, sysAddress);
-            queryWrapper.eq(MallCharge::getAmount, amount);
+            queryWrapper.eq(MallCharge::getAmountReal, amount);
+            queryWrapper.eq(MallCharge::getMemberId, Long.parseLong(chargeRedis));
             queryWrapper.eq(MallCharge::getType, type);
             queryWrapper.eq(MallCharge::getState, YesOrNoEnum.ING.getValue());
             List<MallCharge> mallCharges = mallChargeMapper.selectList(queryWrapper);

--
Gitblit v1.9.1