From a9d736c5dc577c7a1b94dae0989be2269fe2e7ff Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 17 Nov 2020 10:26:10 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index 7e350ff..cc40335 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -35,10 +35,7 @@
 import com.xcong.excoin.modules.platform.dao.PlatformSymbolsCoinDao;
 import com.xcong.excoin.modules.platform.entity.PlatformFeeSettingEntity;
 import com.xcong.excoin.modules.platform.entity.PlatformSymbolsCoinEntity;
-import com.xcong.excoin.utils.MessageSourceUtils;
-import com.xcong.excoin.utils.RedisUtils;
-import com.xcong.excoin.utils.ShareCodeUtil;
-import com.xcong.excoin.utils.ThreadPoolUtils;
+import com.xcong.excoin.utils.*;
 import lombok.extern.slf4j.Slf4j;
 
 import org.apache.commons.lang3.StringUtils;
@@ -901,6 +898,29 @@
             return Result.fail(MessageSourceUtils.getString("member_service_0082"));
         }
 
+        if (CoinTypeEnum.USDT.name().equals(memberSubmitCoinApplyDto.getSymbol())) {
+            if ("ERC20".equals(memberSubmitCoinApplyDto.getLable())) {
+                boolean b = memberSubmitCoinApplyDto.getAddress().startsWith("0x");
+                if (!b) {
+                    return Result.fail("提币地址错误");
+                }
+            }
+
+            if ("TRC20".equals(memberSubmitCoinApplyDto.getLable())) {
+                boolean t = memberSubmitCoinApplyDto.getAddress().startsWith("T");
+                if (!t) {
+                    return Result.fail("提币地址错误");
+                }
+            }
+        }
+
+        if (CoinTypeEnum.RFNC.name().equals(memberSubmitCoinApplyDto.getSymbol())) {
+            boolean rfnc = memberSubmitCoinApplyDto.getAddress().startsWith("RFNC");
+            if (!rfnc) {
+                return Result.fail("提币地址错误");
+            }
+        }
+
         boolean flag = commonservice.verifyCode(memberSubmitCoinApplyDto.getAccount(), memberSubmitCoinApplyDto.getCode());
         if (flag) {
             MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyDto.getSymbol());
@@ -908,7 +928,7 @@
             BigDecimal coinNumber = memberSubmitCoinApplyDto.getCoinNumber();
             if (availableBalance.compareTo(BigDecimal.ZERO) > 0
                     && availableBalance.compareTo(coinNumber) >= 0) {
-                //新增提币记录
+                    //新增提币记录
                 MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity();
                 memberCoinWithdrawEntity.setAddress(memberSubmitCoinApplyDto.getAddress());
                 memberCoinWithdrawEntity.setAmount(coinNumber);
@@ -917,12 +937,20 @@
                 memberCoinWithdrawEntity.setMemberId(memberId);
                 memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING);
 
+                if ("TRC20".equals(memberSubmitCoinApplyDto.getLable()) && CoinTypeEnum.USDT.name().equals(memberSubmitCoinApplyDto.getSymbol())) {
+//                    String orderNo = commonservice.generateOrderNo(memberId);
+//                    TRC20ApiUtils.coinApply(orderNo, memberId.toString(), CoinTypeEnum.USDT.name(), coinNumber.toPlainString(), memberSubmitCoinApplyDto.getAddress());
+//                    memberCoinWithdrawEntity.setTag(orderNo);
+                    memberCoinWithdrawEntity.setLabel("TRC20");
+                }
+
                 Map<String, Object> columnMap = new HashMap<>();
                 columnMap.put("symbol", memberSubmitCoinApplyDto.getSymbol());
                 columnMap.put("address", memberSubmitCoinApplyDto.getAddress());
                 columnMap.put("is_biyict", MemberCoinAddressEntity.IS_BIYICT_YES);
                 List<MemberCoinAddressEntity> selectByMap = memberCoinAddressDao.selectByMap(columnMap);
-                if (CollUtil.isEmpty(selectByMap)) {
+                TdCoinWallet tdCoinWallet = memberCoinAddressDao.selectTdCoinWalletByAddress(memberSubmitCoinApplyDto.getAddress(), CoinTypeEnum.USDT.name());
+                if (CollUtil.isEmpty(selectByMap) && tdCoinWallet == null) {
                     memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
                 } else {
                     memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_YES);

--
Gitblit v1.9.1