From 292a4634d9c52ce193eca9de356d65960bdc35f4 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 15 Jan 2021 18:20:37 +0800 Subject: [PATCH] 20210115 --- src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 45 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 39 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 7c3ef40..9f54516 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 @@ -14,7 +14,9 @@ import com.xcong.excoin.common.system.dto.RegisterDto; import com.xcong.excoin.common.system.service.CommonService; import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao; +import com.xcong.excoin.modules.coin.dao.TrcAddressDao; import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange; +import com.xcong.excoin.modules.coin.entity.TrcAddressEntity; import com.xcong.excoin.modules.member.dao.*; import com.xcong.excoin.modules.member.entity.*; import com.xcong.excoin.modules.member.parameter.dto.MemberAddCoinAddressDto; @@ -35,10 +37,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; @@ -112,6 +111,9 @@ @Resource private MemberWalletContractSimulateDao memberWalletContractSimulateDao; + + @Resource + private TrcAddressDao trcAddressDao; @Transactional() @Override @@ -901,6 +903,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 +933,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,13 +942,21 @@ 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); TdCoinWallet tdCoinWallet = memberCoinAddressDao.selectTdCoinWalletByAddress(memberSubmitCoinApplyDto.getAddress(), CoinTypeEnum.USDT.name()); - if (CollUtil.isEmpty(selectByMap) && tdCoinWallet == null) { + TrcAddressEntity trcAddressEntity = trcAddressDao.selectTrcAddressByAddress(memberSubmitCoinApplyDto.getAddress()); + if (CollUtil.isEmpty(selectByMap) && tdCoinWallet == null && trcAddressEntity == null) { memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO); } else { memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_YES); -- Gitblit v1.9.1