OrderReminderTaskRunner.java 1.07 KB
package com.infoloop.tianting.logic.task;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import java.util.Arrays;

/**
 * 订餐提醒任务命令行执行器
 * 通过命令行参数 --trigger-order-reminder 触发执行
 * 
 * 使用方式:
 * java -jar app.jar --trigger-order-reminder
 * 或者
 * java -jar app.jar --spring.main.web-application-type=none --trigger-order-reminder
 */
@Slf4j
@Component
@RequiredArgsConstructor
public class OrderReminderTaskRunner implements CommandLineRunner {

    private final OrderReminderTask orderReminderTask;

    @Override
    public void run(String... args) {
        boolean shouldTrigger = Arrays.asList(args).contains("--trigger-order-reminder");
        if (shouldTrigger) {
            log.info("OrderReminderTaskRunner: Triggering order reminder task via command line");
            orderReminderTask.executeTask();
            log.info("OrderReminderTaskRunner: Task execution completed");
        }
    }
}