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