From f5e6133809c553cfd9fb28ee61019927c547c374 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 08 Dec 2021 15:58:33 +0800
Subject: [PATCH] 20211208  fish

---
 src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
index 0f00c1c..600145a 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
@@ -415,11 +415,26 @@
         String address = dto.getAddress();
         BigDecimal amount = dto.getBalance();
         String hash = dto.getHash();
+        String symbol;
+
+        if (StrUtil.isBlank(dto.getSymbol())) {
+            log.error("更新trc20失败:{}, {}, {}, {}", hash, dto.getSymbol(), amount, address);
+            return;
+        }
+
+        List<String> symbolArr = StrUtil.split(dto.getSymbol(), '_');
+        if (CollUtil.isEmpty(symbolArr) || symbolArr.size() != 2) {
+            log.error("更新trc20失败:{}, {}, {}, {}", hash, dto.getSymbol(), amount, address);
+            return;
+        }
+        symbol = symbolArr.get(0);
+
         // 判断有无
         //List<MemberCoinAddressEntity> addressList = memberCoinAddressDao.selectAllBlockAddressBySymbolAndTag(CoinTypeEnum.USDT.name(), "TRC20");
         Map<String, Object> hashParam = new HashMap<>();
         // 校验hash是否已同步过
         hashParam.put("hash", hash);
+        hashParam.put("symbol", symbol);
         List<MemberCoinChargeEntity> memberCoinChargeEntities = memberCoinChargeDao.selectByMap(hashParam);
         if (CollectionUtils.isNotEmpty(memberCoinChargeEntities)) {
             // 若已同步过
@@ -427,16 +442,16 @@
         }
         // 添加钱包余额
         // 用户ID
-        MemberCoinAddressEntity memberCoinAddress = memberCoinAddressDao.selectCoinAddressByAddressAndSymbolTag(address, CoinTypeEnum.USDT.name(),"TRC20");
+        MemberCoinAddressEntity memberCoinAddress = memberCoinAddressDao.selectCoinAddressByAddressAndSymbolTag(address, symbol,"TRC20");
         if (memberCoinAddress == null) {
             return;
         }
         Long memberId = memberCoinAddress.getMemberId();
         // 查询钱包 并更新
-        MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.USDT.name());
+        MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol);
         memberWalletCoinDao.updateBlockBalance(memberWalletCoinEntity.getId(), amount, BigDecimal.ZERO, 0);
         // 添加冲币记录
-        String orderNo = insertCoinCharge(address, memberId, amount, CoinTypeEnum.USDT.name(), "TRC20", BigDecimal.ZERO, hash);
+        String orderNo = insertCoinCharge(address, memberId, amount, symbol, "TRC20", BigDecimal.ZERO, hash);
 //        LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", amount, CoinTypeEnum.USDT.name(), 1, 1);
 
         ThreadPoolUtils.sendDingTalk(5);
@@ -470,7 +485,7 @@
         }
         Long memberId = memberCoinAddress.getMemberId();
         // 查询钱包 并更新
-        MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.BEA.name());
+        MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.XCC.name());
         if (walletCoinEntity == null) {
             // 创建一个钱包
             // 创建这个钱包
@@ -486,15 +501,15 @@
 
         memberWalletCoinDao.updateBlockBalance(walletCoinEntity.getId(), balance, BigDecimal.ZERO, 0);
 
-        String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.BEA.name(), "", BigDecimal.ZERO, null);
+        String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.XCC.name(), "", BigDecimal.ZERO, null);
         // 插入财务记录
-        LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", balance, CoinTypeEnum.BEA.name(), 1, 1);
+        LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", balance, CoinTypeEnum.XCC.name(), 1, 1);
 
         try {
             ThreadPoolUtils.sendDingTalk(5);
             MemberEntity member = memberDao.selectById(memberId);
             if (StrUtil.isNotBlank(member.getPhone())) {
-                String amount = balance.toPlainString() + "BEA";
+                String amount = balance.toPlainString() + "XCC";
                 Sms106Send.sendRechargeMsg(member.getPhone(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
             } else {
                 SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);

--
Gitblit v1.9.1