Helius
2020-11-17 a9d736c5dc577c7a1b94dae0989be2269fe2e7ff
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);