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