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/controller/AdminMallMemberController.java  |    2 -
 src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java                       |   18 ++++----
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   68 +++++++++++++++------------------
 3 files changed, 40 insertions(+), 48 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index 86be4d2..68ab486 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -17,7 +17,6 @@
 import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.annotations.Param;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -401,7 +400,6 @@
         registerDto.setRegistType("admin");
         registerDto.setPassword("a123456");
         registerDto.setInviteId(member.getInviteId());
-        registerDto.setName(member.getName());
         apiMallMemberService.register(registerDto);
         return new FebsResponse().success();
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
index d5c40cc..0662267 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
@@ -18,14 +18,6 @@
     @ApiModelProperty(value = "手机号", example = "15773001234")
     private String account;
 
-    @NotBlank(message = "姓名不能为空")
-    @ApiModelProperty(value = "姓名", example = "王大洋")
-    private String name;
-
-    @NotBlank(message = "密码不能为空")
-    @ApiModelProperty(value = "密码", example = "123456")
-    private String password;
-
     @ApiModelProperty(value = "类型 1-手机号 2-邮箱", example = "1")
     private String type = "1";
 
@@ -33,7 +25,15 @@
     @ApiModelProperty(value = "验证码", example = "123456")
     private String code;
 
-//    @NotBlank(message = "邀请码不能为空")
+    @NotBlank(message = "密码不能为空")
+    @ApiModelProperty(value = "密码", example = "123456")
+    private String password;
+
+    @NotBlank(message = "密码不能为空")
+    @ApiModelProperty(value = "重复密码", example = "123456")
+    private String passwordAgain;
+
+    //    @NotBlank(message = "邀请码不能为空")
     @ApiModelProperty(value = "邀请码")
     private String inviteId;
 
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