From 9b51a95fa8bc9b3a86108c6900e17fc55f8db467 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 19 May 2025 17:02:07 +0800 Subject: [PATCH] refactor(vip): 优化积分和返佣计算逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 67 +++++++++++++++++++++------------ 1 files changed, 43 insertions(+), 24 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 0bce76e..ba81e08 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; @@ -27,13 +23,13 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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; @@ -79,25 +75,15 @@ private final SalemanCouponMapper salemanCouponMapper; private final MallMemberCouponMapper mallMemberCouponMapper; private final MallGoodsCouponMapper mallGoodsCouponMapper; + private final HappySaleLevelMapper happySaleLevelMapper; + private final HappyMemberLevelMapper happyMemberLevelMapper; + @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()); -// } -// } -// } +// IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember); + IPage<MallMember> mallMembers = this.baseMapper.selectHappyMemberListInPage(page, mallMember); return mallMembers; } @@ -320,6 +306,17 @@ } @Override + public FebsResponse doctorStateChange(Long id) { + MallMember mallMember = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMember)){ + throw new FebsException("请刷新页面"); + } + mallMember.setDoctorState(mallMember.getDoctorState() == 1 ? 0 : 1); + this.baseMapper.updateById(mallMember); + return new FebsResponse().success().message("操作成功"); + } + + @Override public FebsResponse upCoupon(Long id) { MallMember mallMember = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(mallMember)){ @@ -514,12 +511,16 @@ Integer type = mallSystemPayDto.getType(); String filedType = ""; + Integer flowType = 0; if (type == 1) { filedType = "balance"; + flowType = FlowTypeEnum.BALANCE.getValue(); } else if (type == 2) { - filedType = "score"; - } else if (type == 3) { filedType = "prizeScore"; + flowType = FlowTypeEnum.PRIZE_SCORE.getValue(); + } else if (type == 3) { + filedType = "commission"; + flowType = FlowTypeEnum.COMMISSION.getValue(); } else { throw new FebsException("参数错误"); } @@ -533,7 +534,15 @@ } else { iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); } - mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type); + mallMoneyFlowService.addMoneyFlow( + memberId, + bigDecimal, + ScoreFlowTypeEnum.SYSTEM.getValue(), + MallUtils.getOrderNum(), + flowType, + StrUtil.format(ScoreFlowTypeEnum.SYSTEM.getDesc(),bigDecimal), + 2 + ); return new FebsResponse().success(); } @@ -949,4 +958,14 @@ return new FebsResponse().success().message("操作成功"); } + + @Override + public FebsResponse checkOrder(Long id) { + + MallMember mallMember = this.baseMapper.selectById(id); + mallMember.setCheckOrder(StateUpDownEnum.DOWN.getCode() == mallMember.getCheckOrder() ? StateUpDownEnum.UP.getCode() : StateUpDownEnum.DOWN.getCode()); + this.baseMapper.updateById(mallMember); + + return new FebsResponse().success().message("操作成功"); + } } -- Gitblit v1.9.1