From 191be8a61b2636fabbfee70ae09ef998de620ff5 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 12 Mar 2025 10:52:14 +0800
Subject: [PATCH] feat(mall): 添加会员列表页面

---
 src/main/java/cc/mrbird/febs/mall/chain/ercCoin/BscUsdtContractEvent.java |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 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 9c74dca..5bf75d2 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,6 +31,8 @@
     private MallChargeMapper mallChargeMapper;
     @Resource
     private AgentProducer agentProducer;
+    @Resource
+    private RedisUtils redisUtils;
 
     @Override
     public void sdmUSDT(EthUsdtContract.TransferEventResponse e) {
@@ -36,7 +40,7 @@
             return;
         }
         String sysAddress = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS.getType(),  RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS.getCode()
+                RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS_BSC.getType(),  RunVipDataDictionaryEnum.CHARGE_SYS_ADDRESS_BSC.getCode()
         ).getValue();
         String type = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 RunVipDataDictionaryEnum.CHARGE_TYPE_BSC.getType(),  RunVipDataDictionaryEnum.CHARGE_TYPE_BSC.getCode()
@@ -70,11 +74,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);
@@ -85,8 +100,12 @@
             MallCharge mallCharge = mallCharges.get(0);
             mallCharge.setState(YesOrNoEnum.YES.getValue());
             mallChargeMapper.updateById(mallCharge);
-            agentProducer.sendBuyVipSuccessMsg(mallCharge.getId());
 
+            if(StrUtil.isNotEmpty(mallCharge.getVipCode())){
+                agentProducer.sendBuyVipSuccessMsg(mallCharge.getId());
+            }else{
+                agentProducer.sendChargeSuccessMsg(mallCharge.getId());
+            }
 
             log.info("扫描到用户ID:{},地址:{},充值金额:{}",mallCharge.getMemberId(),fromAddress,amount);
 

--
Gitblit v1.9.1