From 02be66cea8554fedcbe02a94f811b4d0ba162c39 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 26 Nov 2020 17:17:05 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 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 73d4a1e..38124ff 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
@@ -57,6 +57,9 @@
     private MemberWalletCoinDao memberWalletCoinDao;
 
     @Resource
+    private UsdtEthService usdtEthService;
+
+    @Resource
     private RedisUtils redisUtils;
 
     private final static String EOS_SEQ_KEY = "eos_seq_key";
@@ -502,7 +505,7 @@
         }
         Long memberId = memberCoinAddress.getMemberId();
         // 查询钱包 并更新
-        MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.ROC.name());
+        MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.CPV.name());
         if (walletCoinEntity == null) {
             // 创建一个钱包
             // 创建这个钱包
@@ -518,15 +521,15 @@
 
         memberWalletCoinDao.updateBlockBalance(walletCoinEntity.getId(), balance, BigDecimal.ZERO, 0);
 
-        String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.ROC.name(), "", BigDecimal.ZERO, null);
+        String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.CPV.name(), "", BigDecimal.ZERO, null);
         // 插入财务记录
-        LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", balance, CoinTypeEnum.ROC.name(), 1, 1);
+        LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", balance, CoinTypeEnum.CPV.name(), 1, 1);
 
         try {
             ThreadPoolUtils.sendDingTalk(5);
             MemberEntity member = memberDao.selectById(memberId);
             if (StrUtil.isNotBlank(member.getPhone())) {
-                String amount = balance.toPlainString() + "ROC";
+                String amount = balance.toPlainString() + "CPV";
                 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);
@@ -538,6 +541,7 @@
     }
 
     @Override
+    @Transactional
     public void updateEthUsdtNew(EthUsdtChargeDto ethUsdtChargeDto) {
         String address = ethUsdtChargeDto.getAddress();
         String hash = ethUsdtChargeDto.getHash();
@@ -549,7 +553,14 @@
         if(CollectionUtils.isNotEmpty(memberCoinChargeEntities)){
             return;
         }
-        MemberCoinAddressEntity coinAddressEntity = memberCoinAddressDao.selectBlockAddressWithTag(null, CoinTypeEnum.USDT.toString(), "ERC20");
+        // 校验这个交易是否成功
+        EthService ethService  = new EthService();
+        boolean b = ethService.checkTransferResult(hash);
+        if(!b){
+            log.info("#USDT假充值:{}#", hash);
+            return;
+        }
+        MemberCoinAddressEntity coinAddressEntity = memberCoinAddressDao.selectCoinAddressByAddressAndSymbol(address, CoinTypeEnum.USDT.toString());
         if (coinAddressEntity == null) {
             return;
         }
@@ -576,6 +587,13 @@
             } else {
                 SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
             }
+           // 同步
+            try{
+                usdtEthService.pollByAddress(address);
+            }catch (Exception e){
+
+            }
+
 
         }
     }
@@ -603,4 +621,5 @@
         memberCoinChargeDao.insert(memberCoinChargeEntity);
         return orderNo;
     }
+
 }

--
Gitblit v1.9.1