package com.czg.task;

import jakarta.annotation.Resource;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * market服务 任务总调度
 *
 * @author ww
 */
@Component
public class AAMarketTasks {
    //生日有礼奖励发放
    @Resource
    private BirthdayGiftTask birthdayGiftTask;
    @Resource
    private DistributionTask distributionTask;


    // 分销延时发放
    @Scheduled(cron = "0 0 0/2 * * ? ")
    public void distributionTask() {
        distributionTask.deliver(null);
    }


    //每天0时0分0秒 执行
    @Scheduled(cron = "0 0 8 * * ?")
    public void birthdayGiftTask() {
        birthdayGiftTask.deliver();
    }

    //会员生日弹窗提醒重置 每年1月1日
    @Scheduled(cron = "0 0 0 1 1 ?")
    public void birthdayGiftRemindTask() {
        birthdayGiftTask.remind();
    }


    //优惠券 过期
    @Resource
    private CouponTask couponTask;

    //每天每小时的30分 0秒 执行
    @Scheduled(cron = "0 30 * * * ? ")
    public void couponTask() {
        couponTask.task();
    }

    //会员奖励发放
    @Resource
    private MemberTask memberTask;

    //每天1点 0分 0秒 执行
    @Scheduled(cron = "0 0 1 * * ? ")
    public void memberTask() {
        memberTask.task();
    }

    //满减活动/限时折扣 处理任务状态  定时任务
    @Resource
    private ActivityStatusTask activityStatusTask;

    //每天0点 0分 1秒 执行
    @Scheduled(cron = "1 0 0 * * ? ")
    public void activityStatusTask() {
        activityStatusTask.task();
    }


    //月累计 发送条数 累计金额
    @Resource
    private SmsShopMoneyTask smsShopMoneyTask;

    //每月1号 0点 0分 1秒 执行
    @Scheduled(cron = "1 0 0 1 * ?")
    public void smsShopMoneyTask() {
        smsShopMoneyTask.task();
    }

    @Resource
    private PpPackageTask ppPackageTask;

    /**
     * 套餐推广订单 过期
     * 每两小时 触发一次
     */
    @Scheduled(cron = "0 24 0/2 * * ?")
    public void ppOrderExpire() {
        ppPackageTask.ppOrderExpire();
    }

}
