From b3a60ae2f32f9ef251ecb5f3630472dfd648a11a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 29 Nov 2024 15:00:49 +0800
Subject: [PATCH] refactor(mall): 优化退款金额计算逻辑
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 81 +++++++++++++++++++++-------------------
1 files changed, 43 insertions(+), 38 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 18dd2a9..eb90623 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("邀请码不存在");
+ if(!StrUtil.isEmpty(registerDto.getInviteId())){
+ String inviteId = registerDto.getInviteId();
+ 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);
@@ -181,6 +175,12 @@
if (StrUtil.isNotBlank(ids)) {
mallMember.setReferrerIds(ids);
+ }
+ //会员VIP等级
+ List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList();
+ if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) {
+ MallVipConfig mallVipConfig = configs.get(0);
+ mallMember.setLevel(mallVipConfig.getCode());
}
this.baseMapper.updateById(mallMember);
@@ -1174,7 +1174,7 @@
public FebsResponse storeList(MallStoreDto mallStoreDto) {
QueryWrapper<MallStore> mallStoreQueryWrapper = new QueryWrapper<>();
if(StrUtil.isNotEmpty(mallStoreDto.getName())){
- mallStoreQueryWrapper.like("name",mallStoreQueryWrapper);
+ mallStoreQueryWrapper.like("name",mallStoreDto.getName());
}
List<MallStore> mallStores = mallStoreMapper.selectList(mallStoreQueryWrapper);
List<MallStoreVo> mallStoreVos = MallStoreConversion.INSTANCE.entitysToVos(mallStores);
@@ -1201,6 +1201,9 @@
mallStoreMemberMapper.delete(objectQueryWrapper);
}
+ MallMember mallMember = this.baseMapper.selectById(memberId);
+ Integer sex = "女".equals(mallMember.getSex()) ? 3 : 2;
+
MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId);
HashMap<String, String> objectObjectHashMap = new HashMap<>();
String shopAccount = mallStoreItem.getAccount();
@@ -1216,6 +1219,7 @@
objectObjectHashMap.put("address",address);
objectObjectHashMap.put("age",age.toString());
objectObjectHashMap.put("phoneNumber",phoneNumber);
+ objectObjectHashMap.put("sex",sex.toString());
//sign= MD5(address+age+name+phoneNumber+shopAccount+shopPwd)
StringBuffer stringBuffer = new StringBuffer();
@@ -1223,6 +1227,7 @@
stringBuffer.append(age);
stringBuffer.append(name);
stringBuffer.append(phoneNumber);
+ stringBuffer.append(sex);
stringBuffer.append(shopAccount);
stringBuffer.append(shopPwd);
String sign = MD5.MD5Encode(stringBuffer.toString());
--
Gitblit v1.9.1