From 89b7fb1d316cfce7eb98a27c8d668da493933f7f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 25 Feb 2022 16:29:07 +0800
Subject: [PATCH] 20222223

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   76 ++++++++++++++++++++++++++++++-------
 1 files changed, 61 insertions(+), 15 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 6b89fbe..a6addc9 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
@@ -5,6 +5,8 @@
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.contants.AppContants;
@@ -14,21 +16,13 @@
 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.ZhiYaDao;
 import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.coin.entity.ZhiYaEntity;
+import com.xcong.excoin.modules.coin.parameter.vo.ZhiyaInfoVo;
 import com.xcong.excoin.modules.member.dao.*;
 import com.xcong.excoin.modules.member.entity.*;
-import com.xcong.excoin.modules.member.parameter.dto.MemberAddCoinAddressDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberBindEmailDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberBindPhoneDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberDelCoinAddressDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyDto;
-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.dto.*;
 import com.xcong.excoin.modules.member.parameter.vo.*;
 import com.xcong.excoin.modules.member.service.MemberService;
 import com.xcong.excoin.modules.platform.dao.PlatformFeeSettingDao;
@@ -77,6 +71,9 @@
 
     @Resource
     private MemberWalletCoinDao memberWalletCoinDao;
+
+    @Resource
+    private ZhiYaDao zhiYaDao;
 
     @Resource
     private MemberLevelRateDao memberLevelRateDao;
@@ -177,6 +174,9 @@
                 break;
             }
             parentId = parentMember.getRefererId();
+            if(StringUtils.isBlank(parentId)){
+                break;
+            }
             if (parentMember.getRefererId().equals(parentMember.getInviteId())) {
                 flag = true;
             }
@@ -215,6 +215,14 @@
             walletCoin.setBorrowedFund(AppContants.INIT_MONEY);
             memberWalletCoinDao.insert(walletCoin);
         }
+
+        //初始化质押
+        ZhiYaEntity zhiYaEntity = new ZhiYaEntity();
+        zhiYaEntity.setMemberId(member.getId());
+        zhiYaEntity.setAvailableBalance(AppContants.INIT_MONEY);
+        zhiYaEntity.setFrozenBalance(AppContants.INIT_MONEY);
+        zhiYaEntity.setTotalBalance(AppContants.INIT_MONEY);
+        zhiYaDao.insert(zhiYaEntity);
 
         // 初始化代理佣金钱包
         MemberWalletAgentEntity walletAgent = new MemberWalletAgentEntity();
@@ -380,6 +388,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())) {
@@ -461,7 +474,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();
@@ -590,9 +604,13 @@
         MemberEntity member = memberDao.selectById(memberId);
 
         if (ObjectUtil.isNotEmpty(member)) {
-            if (!commonservice.verifyCode(phone, code)) {
+            if (!commonservice.mutiVerifyCode(member.getEmail(), memberBindPhoneDto.getOtherCode(), phone, code)) {
                 return Result.fail(MessageSourceUtils.getString("member_service_0013"));
             }
+            // 验证邮箱验证码
+//            if (!commonservice.verifyCode(member.getEmail(), memberBindPhoneDto.getOtherCode())) {
+//                return Result.fail("邮箱"+MessageSourceUtils.getString("member_service_0013"));
+//            }
             Map<String, Object> columnMap = new HashMap<>();
             columnMap.put("phone", phone);
             List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap);
@@ -618,7 +636,14 @@
         String code = memberBindEmailDto.getCode();
 
         MemberEntity member = memberDao.selectById(memberId);
-        boolean flag = commonservice.verifyCode(email, code);
+        boolean flag = commonservice.mutiVerifyCode(email, code, member.getPhone(), memberBindEmailDto.getOtherCode());
+//        boolean flag2 = commonservice.verifyCode(member.getPhone(), memberBindEmailDto.getOtherCode());
+       if(!flag){
+           return Result.fail(MessageSourceUtils.getString("member_service_0013"));
+       }
+//       if(!flag2){
+//           return Result.fail("手机"+MessageSourceUtils.getString("member_service_0013"));
+//       }
         if (ObjectUtil.isNotEmpty(member)) {
             if (flag) {
                 Map<String, Object> columnMap = new HashMap<>();
@@ -875,6 +900,14 @@
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         MemberEntity member = memberDao.selectById(memberId);
+        String golden_limit_transfer = redisUtils.getString("GOLDEN_LIMIT_TRANSFER");
+        // 判断是否限制
+        if(StringUtils.isNotBlank(member.getPhone()) &&StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getPhone())){
+            return Result.fail("此账号有财务问题,需联系客服");
+        }
+        if(StringUtils.isNotBlank(member.getEmail()) &&StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getEmail())){
+            return Result.fail("此账号有财务问题,需联系客服");
+        }
         if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) {
             return Result.fail(MessageSourceUtils.getString("member_service_0077"));
         }
@@ -992,6 +1025,19 @@
         }
         return Result.ok(arrayList);
     }
+
+    @Override
+    public Result memberTeam(MemberTeamRecordsPageDto memberTeamRecordsPageDto) {
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+        MemberEntity member = memberDao.selectById(memberId);
+        Page<MemberTeamVo> page = new Page<>(memberTeamRecordsPageDto.getPageNum(), memberTeamRecordsPageDto.getPageSize());
+        MemberEntity memberEntity = new MemberEntity();
+        memberEntity.setId(memberId);
+        memberEntity.setInviteId(member.getInviteId());
+        IPage<MemberTeamVo> lists = memberDao.selectAllTeamByInviteIdInPage(page, memberEntity);
+        return Result.ok(lists);
+    }
 }
 
 

--
Gitblit v1.9.1