blob: 64aa6cacca529810cee9d7f91210213dfe1cc2a9 [file] [log] [blame]
yyyang061761a2025-06-08 14:50:16 +08001package com.pt.scheduler;
2
3import com.pt.service.UserService;
4import org.slf4j.Logger;
5import org.slf4j.LoggerFactory;
6import org.springframework.beans.factory.annotation.Autowired;
7import org.springframework.scheduling.annotation.Scheduled;
8import org.springframework.stereotype.Component;
9
10/**
11 * 定时任务,用于定期更新用户的等级。
12 */
13@Component
14public class UserLevelUpdateScheduler {
15
16 private static final Logger logger = LoggerFactory.getLogger(UserLevelUpdateScheduler.class);
17
18 @Autowired
19 private UserService userService;
20
21 /**
22 * 使用CRON表达式定义任务执行时间。
23 * "0 0 * * * ?" 表示在每个小时的整点(例如 01:00, 02:00)执行。
24 * 该任务会调用服务来更新所有用户的等级。
25 */
26 @Scheduled(cron = "0 0 * * * ?")
27 public void scheduleUserLevelUpdate() {
28 logger.info("开始执行定时任务:更新所有用户等级...");
29 try {
30 userService.updateAllUsersLevel();
31 logger.info("定时任务完成:所有用户等级已根据最新数据检查并更新。");
32 } catch (Exception e) {
33 logger.error("执行用户等级更新定时任务时发生错误", e);
34 }
35 }
36}