From 86f2368f146af23c9e16507f790752e79858a29f Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 22 Feb 2024 22:34:31 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 212 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 192 insertions(+), 20 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 1c9fa79..0bce76e 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
@@ -6,8 +6,10 @@
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
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;
@@ -19,6 +21,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;
@@ -47,6 +51,8 @@
@Transactional
public class AdminMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IAdminMallMemberService {
+ private final RedisUtils redisUtils;
+
private final MallMemberMapper mallMemberMapper;
private final MallMemberWalletMapper mallMemberWalletMapper;
@@ -70,25 +76,28 @@
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());
- }
- }
- }
+// 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;
}
@@ -283,6 +292,115 @@
@Override
public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() {
return dataDictionaryCustomMapper.getAgentLevelOption();
+ }
+
+
+ @Override
+ public List<AdminAgentLevelOptionTreeVo> agentLevelOption() {
+ return dataDictionaryCustomMapper.agentLevelOption();
+ }
+
+ @Override
+ public FebsResponse agentVerifyUpdate(AdminAgentVerifyVo adminAgentVerifyVo) {
+ MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectById(adminAgentVerifyVo.getId());
+ if(ObjectUtil.isEmpty(mallAgentRecord)){
+ throw new FebsException("记录不存在");
+ }
+ BigDecimal amount = adminAgentVerifyVo.getAmount();
+ if(BigDecimal.ZERO.compareTo(amount) >= 0){
+ throw new FebsException("请输入正确的金额");
+ }
+// if(StrUtil.isEmpty(adminAgentVerifyVo.getLevelCode())){
+// throw new FebsException("请选择代理级别");
+// }
+// mallAgentRecord.setAgentLevel(adminAgentVerifyVo.getLevelCode());
+ mallAgentRecord.setAmount(adminAgentVerifyVo.getAmount());
+ mallAgentRecordMapper.updateById(mallAgentRecord);
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public FebsResponse upCoupon(Long id) {
+ MallMember mallMember = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)){
+ throw new FebsException("请刷新页面");
+ }
+ mallMember.setIsSale(1);
+ this.baseMapper.updateById(mallMember);
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public FebsResponse downCoupon(Long id) {
+ MallMember mallMember = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)){
+ throw new FebsException("请刷新页面");
+ }
+ mallMember.setIsSale(2);
+ this.baseMapper.updateById(mallMember);
+
+ QueryWrapper<SalemanCoupon> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("member_id",mallMember.getId());
+ List<SalemanCoupon> salemanCouponList = salemanCouponMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(salemanCouponList)){
+ for(SalemanCoupon salemanCoupon : salemanCouponList){
+ salemanCouponMapper.deleteById(salemanCoupon);
+ }
+ }
+
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public FebsResponse memberOut(Long id) {
+
+ MallMember mallMember = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)){
+ throw new FebsException("请刷新页面");
+ }
+ String redisKey = AppContants.XCX_LOGIN_PREFIX + mallMember.getId();
+ String existToken = redisUtils.getString(redisKey);
+ if (StrUtil.isNotBlank(existToken)) {
+ Object o = redisUtils.get(existToken);
+ if (ObjectUtil.isNotEmpty(o)) {
+ redisUtils.del(existToken);
+ }
+ }
+ redisUtils.del(AppContants.XCX_LOGIN_PREFIX + id);
+ redisUtils.del(AppContants.XCX_LOGIN_PHONE_PREFIX + id);
+ this.baseMapper.deleteById(mallMember);
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public IPage<MallMember> getsalemanRuleList(MallMember mallMember, QueryRequest request) {
+ Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MallMember> mallMembers = this.baseMapper.getsalemanRuleList(page, mallMember);
+ return mallMembers;
+ }
+
+ @Override
+ public FebsResponse salemanCoupon(MallMember mallmember) {
+ MallMember member = this.baseMapper.selectById(mallmember.getId());
+ if(ObjectUtil.isEmpty(member)){
+ throw new FebsException("请刷新页面");
+ }
+ Long couponId = mallmember.getCouponId();
+
+ QueryWrapper<SalemanCoupon> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("member_id",member.getId());
+ List<SalemanCoupon> salemanCouponList = salemanCouponMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(salemanCouponList)){
+ SalemanCoupon salemanCoupon = salemanCouponList.get(0);
+ salemanCoupon.setCouponId(couponId);
+ salemanCouponMapper.updateById(salemanCoupon);
+ return new FebsResponse().success().message("操作成功");
+ }
+ SalemanCoupon salemanCoupon = new SalemanCoupon();
+ salemanCoupon.setMemberId(member.getId());
+ salemanCoupon.setCouponId(couponId);
+ salemanCouponMapper.insert(salemanCoupon);
+ return new FebsResponse().success().message("操作成功");
}
@Override
@@ -583,16 +701,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);
@@ -753,6 +884,26 @@
return mallSalesmanMapper.selectSalesmanAchieveProvince();
}
+ @Override
+ public IPage<AdminMallAgentRecordVo> getAgentAchieveList(MallAgentRecord mallAgentRecord, QueryRequest request) {
+ Page<AdminMallAgentRecordVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<AdminMallAgentRecordVo> adminMallAgentRecordVos = mallSalesmanMapper.selectAgentAchieveListInPage(page, mallAgentRecord);
+ return adminMallAgentRecordVos;
+ }
+
+ @Override
+ public List<AdminMallAgentRecordVo> agentAddress() {
+ List<AdminMallAgentRecordVo> adminMallAgentRecordVos = mallSalesmanMapper.selectAgentAddressProvince();
+ if(CollUtil.isNotEmpty(adminMallAgentRecordVos)){
+ for(AdminMallAgentRecordVo adminMallAgentRecordVo : adminMallAgentRecordVos){
+ String province = adminMallAgentRecordVo.getProvince();
+ List<String> cityList = mallSalesmanMapper.selectAgentAddressCity(province);
+ adminMallAgentRecordVo.setCityList(cityList);
+ }
+ }
+ return adminMallAgentRecordVos;
+ }
+
private String refererIds(String parentId) {
boolean flag = false;
if (StrUtil.isBlank(parentId)) {
@@ -777,4 +928,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