Helius
2020-11-30 50d3d5e3e3282f757ea639f9ca1939d429c6fd5d
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -42,7 +42,6 @@
import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberTradersPwdOutcenterDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradersPwdTimeDto;
import com.xcong.excoin.modules.member.parameter.vo.*;
import com.xcong.excoin.modules.member.service.MemberService;
@@ -275,17 +274,15 @@
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        MemberEntity memberEntity = memberDao.selectById(memberId);
        MemberInfoVo memberInfoVo = new MemberInfoVo();
        if (ObjectUtil.isNotEmpty(memberEntity)) {
            String email = memberEntity.getEmail();
            String phone = memberEntity.getPhone();
            if (StrUtil.isNotEmpty(phone)) {
                memberInfoVo.setPhone(phone);
            } else if (StrUtil.isNotEmpty(email)) {
                memberInfoVo.setPhone(email);
            }
           String address = memberEntity.getAddress();
           WtWallet wtWallet = wtWalletDao.selectSimpleById(address);
           String walletName = wtWallet.getWalletName();
           memberInfoVo.setWalletName(walletName);
            memberInfoVo.setInviteId(memberEntity.getInviteId());
        }
        return Result.ok(memberInfoVo);
    }
@@ -458,15 +455,14 @@
        MemberEntity memberEntity = memberDao.selectById(memberId);
        String password = memberTradersPwdOutcenterDto.getPassword();
        List<String> mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
        String mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
        /**
       * 判断钱包是否存在
       */
        if(CollectionUtils.isEmpty(mnemonicWordList)){
        if(StringUtils.isEmpty(mnemonicWordList)){
           return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
        }
        String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
        WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
        WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWordList);
        if(wtWallet==null){
           return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
        }
@@ -493,7 +489,7 @@
            return Result.fail(MessageSourceUtils.getString("member_service_0003"));
        }
        String token = LoginUserUtils.getAppLoginUserToken();
        redisUtils.del(AppContants.APP_LOGIN_PREFIX + token);
        redisUtils.del(token);
        SecurityContextHolder.clearContext();
        return Result.ok(MessageSourceUtils.getString("member_service_0071"));
    }
@@ -506,15 +502,14 @@
        MemberEntity memberEntity = memberDao.selectById(memberId);
        String password = memberTradersPwdOutcenterDto.getPassword();
        List<String> mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
        String mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
        /**
       * 判断钱包是否存在
       */
        if(CollectionUtils.isEmpty(mnemonicWordList)){
        if(StringUtils.isEmpty(mnemonicWordList)){
           return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
        }
        String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
        WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
        WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWordList);
        if(wtWallet==null){
           return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
        }
@@ -933,6 +928,7 @@
        return Result.ok("success");
    }
    @Transactional
    @Override
    public Result memberSubmitCoinApply(@Valid MemberSubmitCoinApplyDto memberSubmitCoinApplyDto) {
        //获取用户ID
@@ -1182,25 +1178,32 @@
        String inviteId = ShareCodeUtil.toSerialCode(member.getId());
        member.setInviteId(inviteId);
//        boolean flag = false;
//        String parentId = member.getRefererId();
//        String ids = "";
//        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;
//            }
//        }
//        member.setRefererIds(ids);
        String refererId = outCenterRegisterDto.getRefererId();
        if(StrUtil.isNotEmpty(refererId)) {
           MemberEntity selectMemberInfoByInviteId = memberDao.selectMemberInfoByInviteId(refererId);
           if(ObjectUtil.isNotEmpty(selectMemberInfoByInviteId)) {
              boolean flag = false;
                String parentId = member.getRefererId();
                String ids = "";
                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;
                    }
                }
                member.setRefererIds(ids);
           }
        }
        memberDao.updateById(member);
        //初始化合约钱包
@@ -1289,14 +1292,22 @@
      /**
       * 判断钱包是否存在
       */
        List<String> mnemonicWordList = wtWalletDto.getMnemonicWordList();
        if(CollectionUtils.isEmpty(mnemonicWordList)){
      String mnemonicWordList = wtWalletDto.getMnemonicWordList();
        if(StringUtils.isEmpty(mnemonicWordList)){
           return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
        }
        String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
        WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
        WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWordList);
        if(wtWallet==null){
           return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
        }
        /**
         * 资金密码验证
         */
        String pssword = wtWalletDto.getPassword();
        String passwordToMD5 = MD5Util.strToMD5(pssword);
        String passwordWallet = wtWallet.getPassword();
        if(!passwordToMD5.equals(passwordWallet)) {
           return Result.fail(MessageSourceUtils.getString("login_recovery_004"));
        }
        
        /**
@@ -1308,6 +1319,7 @@
        loginVo.setAddressMd(strToMD5);
        Wrapper<MemberEntity> queryWrapperOrepool = new QueryWrapper<>();
        ((QueryWrapper<MemberEntity>) queryWrapperOrepool).eq("address", address);
        ((QueryWrapper<MemberEntity>) queryWrapperOrepool).eq("trade_password", passwordToMD5);
        MemberEntity memberEntity = memberDao.selectOne(queryWrapperOrepool);
        if(ObjectUtil.isEmpty(memberEntity)) {
           log.info("用户初始化");
@@ -1393,11 +1405,11 @@
   }
   @Override
   public Result getMnemonicWordList(String address) {
   public Result getMnemonicWordList() {
      //获取用户ID
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        MemberEntity memberEntity = memberDao.selectById(memberId);
        String address = memberEntity.getAddress();
        WtWallet wtWallet = wtWalletDao.selectById(address);
        
        String mnemonicWords = wtWallet.getMnemonicWords();