添加等级机制,每小时依据用户上传量下载量和积分进行更新

Change-Id: I152375a20103c2693ce8a5d64a130a1c1f598abf
diff --git a/src/main/java/com/pt/scheduler/UserLevelUpdateScheduler.java b/src/main/java/com/pt/scheduler/UserLevelUpdateScheduler.java
new file mode 100644
index 0000000..64aa6ca
--- /dev/null
+++ b/src/main/java/com/pt/scheduler/UserLevelUpdateScheduler.java
@@ -0,0 +1,36 @@
+package com.pt.scheduler;
+
+import com.pt.service.UserService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * 定时任务,用于定期更新用户的等级。
+ */
+@Component
+public class UserLevelUpdateScheduler {
+
+    private static final Logger logger = LoggerFactory.getLogger(UserLevelUpdateScheduler.class);
+
+    @Autowired
+    private UserService userService;
+
+    /**
+     * 使用CRON表达式定义任务执行时间。
+     * "0 0 * * * ?" 表示在每个小时的整点(例如 01:00, 02:00)执行。
+     * 该任务会调用服务来更新所有用户的等级。
+     */
+    @Scheduled(cron = "0 0 * * * ?")
+    public void scheduleUserLevelUpdate() {
+        logger.info("开始执行定时任务:更新所有用户等级...");
+        try {
+            userService.updateAllUsersLevel();
+            logger.info("定时任务完成:所有用户等级已根据最新数据检查并更新。");
+        } catch (Exception e) {
+            logger.error("执行用户等级更新定时任务时发生错误", e);
+        }
+    }
+} 
\ No newline at end of file