Просмотр исходного кода

feat: RepurchaseReminderScheduledTask runs daily at 2 AM

@Scheduled(cron=0 0 2 * * ?) calls
RecommendationService.generateDailyRepurchaseReminders() to scan
paid/received orders and generate repurchase reminders based on
repurchase_reminder_config rules (category/reminderDays/maxReminders).

Co-authored-by: Sisyphus <sisyphus@omo.codes>
Sisyphus 2 месяцев назад
Родитель
Сommit
2c9cbaf582

+ 27 - 0
cfc-backend/src/main/java/com/etotem/cfc/task/RepurchaseReminderScheduledTask.java

@@ -0,0 +1,27 @@
+package com.etotem.cfc.task;
+
+import com.etotem.cfc.service.RecommendationService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@Component
+public class RepurchaseReminderScheduledTask {
+
+    @Resource
+    private RecommendationService recommendationService;
+
+    @Scheduled(cron = "0 0 2 * * ?")
+    public void generateReminders() {
+        log.info("===== RepurchaseReminderScheduledTask 开始执行 =====");
+        try {
+            recommendationService.generateDailyRepurchaseReminders();
+        } catch (Exception e) {
+            log.error("复购提醒定时任务执行失败", e);
+        }
+        log.info("===== RepurchaseReminderScheduledTask 执行完成 =====");
+    }
+}