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