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 | 96 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 70 insertions(+), 26 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 434c237..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,12 +37,10 @@ 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; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -106,9 +106,14 @@ @Resource AppVersionDao appVersionDao; + @Resource + private MemberSettingDao memberSettingDao; @Resource private MemberWalletContractSimulateDao memberWalletContractSimulateDao; + + @Resource + private TrcAddressDao trcAddressDao; @Transactional() @Override @@ -142,22 +147,24 @@ // } if (!AppContants.SYSTEM_REFERER.equals(registerDto.getRefererId())) { MemberEntity isExist = memberDao.selectMemberInfoByInviteId(registerDto.getRefererId()); - if (isExist == null) { - return Result.fail("推荐人不存在"); + if (isExist != null) { + member.setRefererId(registerDto.getRefererId()); } } - - member.setRefererId(registerDto.getRefererId()); member.setAccountStatus(MemberEntity.ACCOUNT_STATUS_ENABLE); member.setAccountType(MemberEntity.ACCOUNT_TYPE_NORMAL); member.setAgentLevel(MemberEntity.ACCOUNT_AGENT_LEVEL); member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT); member.setIsForce(1); member.setIsProfit(0); - member.setSpread(BigDecimal.ONE); - member.setClosingSpread(BigDecimal.ONE); - member.setForceParam(BigDecimal.valueOf(0.0015)); memberDao.insert(member); + + MemberSettingEntity memberSettingEntity = new MemberSettingEntity(); + memberSettingEntity.setSpread(BigDecimal.ONE); + memberSettingEntity.setClosingSpread(BigDecimal.valueOf(5)); + memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0030)); + memberSettingEntity.setMemberId(member.getId()); + memberSettingDao.insert(memberSettingEntity); String inviteId = ShareCodeUtil.toSerialCode(member.getId()); member.setInviteId(inviteId); @@ -165,13 +172,16 @@ boolean flag = false; String parentId = member.getRefererId(); String ids = ""; - while (!flag) { + while (!flag && StringUtils.isNotBlank(parentId)) { ids += ("," + parentId); MemberEntity parentMember = memberDao.selectMemberInfoByInviteId(parentId); if (parentMember == null) { break; } parentId = parentMember.getRefererId(); + if(StringUtils.isBlank(parentId)){ + break; + } if (parentMember.getRefererId().equals(parentMember.getInviteId())) { flag = true; } @@ -375,6 +385,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())) { @@ -456,7 +471,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(); @@ -870,6 +886,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")); } @@ -883,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()); @@ -890,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); @@ -899,12 +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); - if (CollUtil.isEmpty(selectByMap)) { + TdCoinWallet tdCoinWallet = memberCoinAddressDao.selectTdCoinWalletByAddress(memberSubmitCoinApplyDto.getAddress(), CoinTypeEnum.USDT.name()); + 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); @@ -956,23 +1008,15 @@ @Override public Result getAppVersionInfo() { - MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); - Map<String, Object> columnMap = new HashMap<>(); List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap); List<Object> arrayList = new ArrayList<>(); if (CollUtil.isNotEmpty(selectByMap)) { for (AppVersionEntity appVersionEntity : selectByMap) { AppVersionVo appVersionVo = new AppVersionVo(); - if ("31087493".equals(memberEntity.getInviteId())) { - appVersionVo.setAddress("www.baidu.com"); - appVersionVo.setType(appVersionEntity.getType()); - appVersionVo.setVersion(appVersionEntity.getVersion()); - } else { - appVersionVo.setAddress(appVersionEntity.getAddress()); - appVersionVo.setType(appVersionEntity.getType()); - appVersionVo.setVersion(appVersionEntity.getVersion()); - } + appVersionVo.setAddress(appVersionEntity.getAddress()); + appVersionVo.setType(appVersionEntity.getType()); + appVersionVo.setVersion(appVersionEntity.getVersion()); arrayList.add(appVersionVo); } } -- Gitblit v1.9.1