From d2adc89b5970c2d855d4901722e18d98fc3b9480 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 11 Nov 2020 17:35:51 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 45 insertions(+), 7 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 42aebe8..cd97f84 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;
@@ -383,6 +380,11 @@
if (count > 0) {
return Result.fail(MessageSourceUtils.getString("member_service_0060"));
}
+ // 同一个人只能认证一次
+ int authenByMemberId = memberAuthenticationDao.findAuthenByMemberId(memberId);
+ if (authenByMemberId > 0) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0055"));
+ }
if (StrUtil.isBlank(memberAuthenticationDto.getIdCardFront())
|| StrUtil.isBlank(memberAuthenticationDto.getIdCardReverse())
|| StrUtil.isBlank(memberAuthenticationDto.getIdCardImage())) {
@@ -464,7 +466,8 @@
@Transactional
public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
//获取用户ID
- MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity memberEntity = memberDao.selectById(memberId);
String code = memberForgetPwdDto.getCode();
String password = memberForgetPwdDto.getPassword();
@@ -878,6 +881,10 @@
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity member = memberDao.selectById(memberId);
+ // 判断是否限制
+ if(1 == member.getIsTrader()){
+ return Result.fail("此账号有财务问题,需联系客服");
+ }
if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) {
return Result.fail(MessageSourceUtils.getString("member_service_0077"));
}
@@ -891,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());
@@ -898,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);
@@ -907,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