From ccad384233cedb89bc5895976b2326f3d1a34f85 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 18 Dec 2024 11:23:35 +0800 Subject: [PATCH] refactor(mall): 重构会员充值相关功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java index 642f7f9..7f2e537 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java @@ -8,15 +8,14 @@ import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; -import cc.mrbird.febs.mall.service.IMallAchieveService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.service.IMemberProfitService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateField; -import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; @@ -48,6 +47,7 @@ private final MallMoneyFlowMapper mallMoneyFlowMapper; private final MallAchieveRecordMapper mallAchieveRecordMapper; private final MallMemberCouponMapper mallMemberCouponMapper; + private final RunVipMapper runVipMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -494,4 +494,23 @@ } } } + + @Override + public void updateMemberLevel() { + List<RunVip> runVips = runVipMapper.selectList(new LambdaQueryWrapper<RunVip>().orderByAsc(RunVip :: getOrderNumber)); + RunVip runVip = runVips.get(0); + + //获取过期时间小于等于当前时间,并且会员等级不是最小等级游客的所有用户 + LambdaQueryWrapper<MallMember> mallMemberLambdaQueryWrapper = new LambdaQueryWrapper<>(); + mallMemberLambdaQueryWrapper.le(MallMember :: getVipLevelTime,DateUtil.date()); + mallMemberLambdaQueryWrapper.ne(MallMember :: getLevel,runVip.getVipCode()); + List<MallMember> mallMembers = mallMemberMapper.selectList(mallMemberLambdaQueryWrapper); + if(CollUtil.isNotEmpty(mallMembers)){ + mallMembers.forEach( + item -> { + mallMemberMapper.updateVipLevelTimeAndLevel(item.getId(),item.getVipLevelTime(),item.getLevel()); + } + ); + } + } } -- Gitblit v1.9.1