From d497710f15f38a293fbab685160a113923f7811b Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 12 Mar 2025 11:30:09 +0800
Subject: [PATCH] refactor(mall): 优化直推人数统计逻辑
---
src/main/java/cc/mrbird/febs/mall/chain/trcCoin/quartz/ChainTrcListenerJob.java | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/chain/trcCoin/quartz/ChainTrcListenerJob.java b/src/main/java/cc/mrbird/febs/mall/chain/trcCoin/quartz/ChainTrcListenerJob.java
index b05c241..f5f99b8 100644
--- a/src/main/java/cc/mrbird/febs/mall/chain/trcCoin/quartz/ChainTrcListenerJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/chain/trcCoin/quartz/ChainTrcListenerJob.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.chain.trcCoin.OkHttpUtil2;
import cc.mrbird.febs.mall.chain.trcCoin.OklinkDataPageDetailModel;
import cc.mrbird.febs.mall.chain.trcCoin.OklinkModel;
@@ -20,6 +22,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
@@ -37,6 +40,8 @@
private MallChargeMapper mallChargeMapper;
@Resource
private AgentProducer agentProducer;
+ @Resource
+ private RedisUtils redisUtils;
/**
* 五分钟 毫秒
@@ -125,11 +130,19 @@
continue;
}
- BigDecimal amount = new BigDecimal(tokenTransfer.getAmount());
+ BigDecimal amount = new BigDecimal(tokenTransfer.getAmount()).setScale(2, RoundingMode.DOWN);
+ String chargeRedis = redisUtils.getString(AppContants.CHARGE_AMOUNT_PROFIX + amount);
+ if (StrUtil.isBlank(chargeRedis)) {
+ log.info("Redis未扫描到充值金额:{}",transactionId);
+ return;
+ }else{
+ redisUtils.del(AppContants.CHARGE_AMOUNT_PROFIX + amount);
+ log.info("Redis扫描到充值记录:{},{}",transactionId,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