From c5947256b22f2283214258827f61af09966cf490 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 31 Dec 2024 17:25:37 +0800
Subject: [PATCH] feat(mall): 添加会员列表直推、团队、业绩统计功能 - 在 MallMember 实体中添加直推数、团队数、业绩金额等字段 - 修改 getMallMemberList 方法,异步计算每个会员的直推、团队和业绩数据 - 在前端列表中显示直推、团队、业绩等列 - 优化数据查询效率,使用 LambdaQueryWrapper 和 CompletableFuture

---
 src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java |   49 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
index 8644275..943d467 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -9,17 +9,56 @@
 
 @Slf4j
 @Component
-@ConditionalOnProperty(prefix = "system", name = "job", havingValue = "true")
+@ConditionalOnProperty(prefix = "system", name = "runStep", havingValue = "true")
 public class ProfitJob {
 
     @Autowired
     private IMemberProfitService memberProfitService;
 
+//    /**
+//     * 每12小时更新一次会员等级
+//     * 套餐过期后,更新用户为游客等级
+//     */
+//    @Scheduled(cron = "0 0 0/12 * * ?")
+//    public void updateMemberLevel() {
+//        memberProfitService.updateMemberLevel();
+//    }
+//
+//    /**
+//     * 每天凌晨
+//     * 清空用户的碳积分
+//     */
+//    @Scheduled(cron = "0 0 0 * * ?")
+//    public void updateMemberScore() {
+//        memberProfitService.updateMemberScore();
+//    }
+
     /**
-     * 套餐过期后,更新用户为游客等级
+     * 每1小时执行一次
+     * 分发碳积分
+     *      根据会员等级分发
      */
-    @Scheduled(cron = "0 0 0 * * ?")
-    public void updateMemberLevel() {
-        memberProfitService.updateMemberLevel();
+    @Scheduled(cron = "0 0 0/1 * * ?")
+    public void updateRunScore() {
+        memberProfitService.updateRunScore();
+    }
+
+    /**
+     * 每天凌晨
+     * 释放每一个用户的助力碳币
+     */
+//    @Scheduled(cron = "0 0 0 * * ?")
+    @Scheduled(cron = "0 0 0/1 * * ?")
+    public void updateMemberCoin() {
+        memberProfitService.updateMemberCoin();
+    }
+
+    /**
+     * 每个月一号
+     *      节点奖励分发
+     */
+    @Scheduled(cron = "0 0 0 1 * *")
+    public void updateNodeScore() {
+        memberProfitService.updateNodeScore();
     }
 }

--
Gitblit v1.9.1