From 626feb32d22db5762a63ab56b079ee6cbefa4d86 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 19 Dec 2024 15:49:04 +0800
Subject: [PATCH] refactor(mall): 优化会员信息接口返回内容
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 79 insertions(+), 34 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 88d2416..026eaba 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -2,17 +2,13 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
-import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
-import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
-import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
-import cc.mrbird.febs.mall.entity.MallNewsInfo;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
@@ -21,6 +17,8 @@
import cc.mrbird.febs.pay.model.MemberWithdrawalDto;
import cc.mrbird.febs.pay.service.IXcxPayService;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
@@ -31,10 +29,10 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.xmlbeans.impl.store.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -75,25 +73,13 @@
private final MallAgentRecordMapper mallAgentRecordMapper;
private final MallSalesmanMapper mallSalesmanMapper;
private final SalemanCouponMapper salemanCouponMapper;
+ private final MallMemberCouponMapper mallMemberCouponMapper;
+ private final MallGoodsCouponMapper mallGoodsCouponMapper;
@Override
public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize());
IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember);
-// if(CollUtil.isNotEmpty(mallMembers.getRecords())){
-// for(MallMember mallMemberTeam : mallMembers.getRecords()){
-// Long salesmansId = mallMemberTeam.getSalesmansId();
-// MallSalesman mallSalesman = mallSalesmanMapper.selectById(salesmansId);
-// if(ObjectUtil.isNotEmpty(mallSalesman)){
-// StringBuffer salesmanName = new StringBuffer();
-// salesmanName.append(mallSalesman.getName());
-// if(2 == mallSalesman.getState()){
-// salesmanName.append("(禁用)");
-// }
-// mallMemberTeam.setSalesmansName(salesmanName.toString());
-// }
-// }
-// }
return mallMembers;
}
@@ -104,7 +90,7 @@
if(ObjectUtil.isEmpty(mallMember)) {
return new FebsResponse().fail().message("会员信息不存在");
}
- mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_DISABLED);
+ mallMember.setAccountStatus(YesOrNoEnum.NO.getValue());
mallMemberMapper.updateById(mallMember);
return new FebsResponse().success();
}
@@ -116,7 +102,7 @@
if(ObjectUtil.isEmpty(mallMember)) {
return new FebsResponse().fail().message("会员信息不存在");
}
- mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
+ mallMember.setAccountStatus(YesOrNoEnum.YES.getValue());
mallMemberMapper.updateById(mallMember);
return new FebsResponse().success();
}
@@ -142,6 +128,12 @@
@Override
public MallMemberVo getMallMemberInfoById(long id) {
MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberInfoById(id);
+ return mallMemberVo;
+ }
+
+ @Override
+ public MallMemberVo getMallMemberWalletById(@NotNull(message = "{required}") long id) {
+ MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberWalletById(id);
return mallMemberVo;
}
@@ -354,7 +346,7 @@
if(ObjectUtil.isEmpty(mallMember)){
throw new FebsException("请刷新页面");
}
- String redisKey = AppContants.XCX_LOGIN_PREFIX + mallMember.getId();
+ String redisKey = AppContants.APP_LOGIN_PREFIX + mallMember.getId();
String existToken = redisUtils.getString(redisKey);
if (StrUtil.isNotBlank(existToken)) {
Object o = redisUtils.get(existToken);
@@ -362,7 +354,7 @@
redisUtils.del(existToken);
}
}
- redisUtils.del(AppContants.XCX_LOGIN_PREFIX + id);
+ redisUtils.del(AppContants.APP_LOGIN_PREFIX + id);
redisUtils.del(AppContants.XCX_LOGIN_PHONE_PREFIX + id);
this.baseMapper.deleteById(mallMember);
return new FebsResponse().success().message("操作成功");
@@ -509,27 +501,46 @@
}
Integer type = mallSystemPayDto.getType();
+ Integer flowType = 0;
+ Integer moneyType = 0;
+ String moneyTypeDec = "";
String filedType = "";
if (type == 1) {
filedType = "balance";
+ flowType = FlowTypeEnum.BALANCE.getValue();
+ moneyType = RunVipMoneyFlowTypeEnum.SYS_BALANCE.getValue();
+ moneyTypeDec = RunVipMoneyFlowTypeEnum.SYS_BALANCE.getDescription();
} else if (type == 2) {
filedType = "score";
+ flowType = FlowTypeEnum.SCORE.getValue();
+ moneyType = RunVipMoneyFlowTypeEnum.SYS_SCORE.getValue();
+ moneyTypeDec = RunVipMoneyFlowTypeEnum.SYS_SCORE.getDescription();
} else if (type == 3) {
filedType = "prizeScore";
} else {
- throw new FebsException("参数错误");
+ throw new FebsException("操作失败");
}
if (isReduce) {
int i = iApiMallMemberWalletService.reduce(mallSystemPayDto.getAddBalance().negate(), mallSystemPayDto.getId(), filedType);
if (i == 2) {
- throw new FebsException("剩余数量不足");
+ throw new FebsException("操作失败");
}
} else {
iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType);
}
- mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type);
+ String orderNo = MallUtils.getOrderNum("SYS");
+ mallMoneyFlowService.runVipMoneyFlowAdd(
+ mallMember.getId(),
+ mallMember.getId(),
+ orderNo,
+ flowType,
+ moneyType,
+ bigDecimal,
+ StrUtil.format(moneyTypeDec,bigDecimal),
+ YesOrNoEnum.YES.getValue()
+ );
return new FebsResponse().success();
}
@@ -579,7 +590,7 @@
// 重置交易密码
if (type == 1) {
- String payPwd = SecureUtil.md5("654321");
+ String payPwd = SecureUtil.md5("123456");
member.setTradePassword(payPwd);
// 重置登录密码
} else {
@@ -697,16 +708,29 @@
@Override
@Transactional(rollbackFor = Exception.class)
public void modifyReferer(MallMember member) {
- MallMember referer = this.baseMapper.selectInfoByInviteId(member.getReferrerId());
+ if(StrUtil.isEmpty(member.getReferrerId())){
+ this.baseMapper.updateReferrerId(member.getId());
+ return;
+ }
+ String referrerId = member.getReferrerId();//新的推荐人邀请码
+ //获取新推荐人信息
+ MallMember referer = this.baseMapper.selectInfoByInviteId(referrerId);
if (referer == null) {
throw new FebsException("推荐人不存在");
}
- String refererId = member.getReferrerId();
+ member = this.baseMapper.selectById(member.getId());//修改的用户
- member = this.baseMapper.selectById(member.getId());
-
- String beforeReferer = member.getReferrerId();
- member.setReferrerId(refererId);
+ if(member.getInviteId().equals(referrerId)){
+ throw new FebsException("自己不能推荐自己");
+ }
+ String refererId = referer.getInviteId();//新推荐人的邀请码
+ if(StrUtil.isNotEmpty(referer.getReferrerIds())){
+ if (referer.getReferrerIds().contains(member.getInviteId())) {
+ throw new FebsException("修改的推荐关系不符合规则");
+ }
+ }
+// String beforeReferer = member.getReferrerId();
+ member.setReferrerId(refererId);//更新用户的上级推荐人为新推荐人的邀请码refererId
String refererIds = refererIds(refererId);
member.setReferrerIds(refererIds);
this.baseMapper.updateById(member);
@@ -911,4 +935,25 @@
return ids;
}
+
+ @Override
+ public FebsResponse addMemberCoupon(MallMember member) {
+ MallGoodsCoupon existCoupon = mallGoodsCouponMapper.selectById(member.getCouponId());
+ if(existCoupon == null) {
+ return new FebsResponse().fail().message("优惠券不存在");
+ }
+
+ MallMemberCoupon memberCoupon = new MallMemberCoupon();
+ memberCoupon.setCouponId(existCoupon.getId());
+ memberCoupon.setCouponName(existCoupon.getName());
+ memberCoupon.setInviteId(member.getInviteId());
+ memberCoupon.setCouponUuid(IdUtil.simpleUUID());
+ memberCoupon.setState(1);
+ memberCoupon.setFromType(4);
+ memberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(), existCoupon.getExpireDay()));
+ memberCoupon.setMemberId(member.getId());
+ mallMemberCouponMapper.insert(memberCoupon);
+
+ return new FebsResponse().success().message("操作成功");
+ }
}
--
Gitblit v1.9.1