From 364a1f1a7ff90259f64069863886b9cfd7093111 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 20 Nov 2024 10:45:41 +0800
Subject: [PATCH] refactor(mall): 重构会员注册功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   68 +++++++++++++++------------------
 1 files changed, 31 insertions(+), 37 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index fa4a9c5..c05d2d5 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1,11 +1,16 @@
 package cc.mrbird.febs.mall.service.impl;
 
 import cc.mrbird.febs.common.entity.FebsResponse;
-import cc.mrbird.febs.common.enumerates.*;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.properties.XcxProperties;
 import cc.mrbird.febs.common.utils.*;
-import cc.mrbird.febs.mall.conversion.*;
+import cc.mrbird.febs.mall.conversion.MallMemberConversion;
+import cc.mrbird.febs.mall.conversion.MallShopApplyConversion;
+import cc.mrbird.febs.mall.conversion.MallStoreConversion;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
@@ -14,7 +19,6 @@
 import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
 import cc.mrbird.febs.pay.service.IXcxPayService;
 import cc.mrbird.febs.pay.util.MD5;
-import cc.mrbird.febs.pay.util.Util;
 import cc.mrbird.febs.vip.VipSettingUnAliveSettingBo;
 import cc.mrbird.febs.vip.entity.MallVipConfig;
 import cc.mrbird.febs.vip.mapper.MallVipConfigMapper;
@@ -38,19 +42,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.protocol.HttpClientContext;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.util.EntityUtils;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.security.SecurityProperties;
-import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -103,20 +95,21 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public FebsResponse register(RegisterDto registerDto) {
-        MallMember mallMember = this.baseMapper.selectInfoByAccount(registerDto.getAccount());
-        if (mallMember != null) {
-            throw new FebsException("该账号已被占用");
-        }
-
-        List<MallMember> mallMembers = this.baseMapper.selectMemberByName(registerDto.getName());
-        if (CollUtil.isNotEmpty(mallMembers)) {
-            MallRegisterAppeal registerAppeal = mallRegisterAppealMapper.selectByPhoneAndName(registerDto.getName(), registerDto.getAccount());
-            if (registerAppeal == null || registerAppeal.getStatus() != 1) {
-                return new FebsResponse().code(HttpStatus.ACCEPTED).message("用户名已存在");
-            }
-        }
-
         String account = registerDto.getAccount();
+        MallMember mallMember = this.baseMapper.selectInfoByAccount(account);
+        if (mallMember != null) {
+            throw new FebsException("手机号已注册");
+        }
+        /**
+         * 验证两次密码是否一致
+         */
+        String password = registerDto.getPassword();
+        String passwordAgain = registerDto.getPasswordAgain();
+        if(!password.equals(passwordAgain)){
+            throw new FebsException("密码不一致");
+        }
+
+        //邀请码为admin的时候(后台添加用户),不需要验证验证码
         if (!"admin".equals(registerDto.getRegistType())) {
             String code = registerDto.getCode();
             boolean flags = commonService.verifyCode(account, code);
@@ -134,22 +127,23 @@
         } else {
             mallMember.setEmail(registerDto.getAccount());
         }
-
+        //对于邀请码的验证和上级联系人的验证
         Integer count = this.baseMapper.selectCount(null);
         if (count != null && count != 0) {
-            MallMember inviteMember = this.baseMapper.selectInfoByInviteId(registerDto.getInviteId());
-            if (inviteMember == null) {
-                throw new FebsException("邀请码不存在");
+            String inviteId = registerDto.getInviteId();
+            if(StrUtil.isNotBlank(inviteId)){
+                MallMember inviteMember = this.baseMapper.selectInfoByInviteId(inviteId);
+                if (inviteMember == null) {
+                    throw new FebsException("邀请码不存在");
+                }
+                mallMember.setReferrerId(registerDto.getInviteId());
             }
-
-            mallMember.setReferrerId(registerDto.getInviteId());
-
         }
-        mallMember.setName(registerDto.getName());
+        mallMember.setName(account);
         mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
         mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
         mallMember.setSex("男");
-        mallMember.setBindPhone(registerDto.getAccount());
+        mallMember.setBindPhone(account);
 
         this.baseMapper.insert(mallMember);
 

--
Gitblit v1.9.1