<?php

namespace process;

use app\admin\controller\notify\RechargeController;
use app\admin\service\client\MessageService;
use app\admin\service\coupon\CardService;
use app\admin\service\coupon\CouponService;
use app\admin\service\goods\GoodsService;
use app\admin\service\member\MemberService;
use app\admin\service\order\OrderService;
use app\admin\service\order\PayDetailService;
use Workerman\Crontab\Crontab;

class Task
{
    public function onWorkerStart()
    {
        // 每分钟执行一次
        new Crontab('0 */1 * * * *', function () {
            // 充值成功，更新会员等级
//            (new RechargeController)->disposePaySuccess();
            // 商品自动上架
//            GoodsService::checkListing();
            // 商品自动下架
//            GoodsService::checkOffListing();
            // 未支付30分钟取消
            OrderService::checkPayingOrder();
            // 支付记录：未支付30分钟取消
            // PayDetailService::checkPaying();

            // 会员消息 30分钟未读，发送站内信
            MessageService::unreadChatMessage();

            // 优惠券自动过期
            CouponService::checkCouponExpired();
        });

        // 每天的0点1分执行，注意这里省略了秒位
        new Crontab('1 0 * * *', function () {
            // 会员合伙人自动过期
            MemberService::partnerExpired();
            // 康养推荐官自动过期
            MemberService::referrerExpired();
            // 会员身份过期
            MemberService::roleExpired();
            // 加盟合伙人过期
            MemberService::franchiseeExpired();
            // 加盟合伙人每年20%
            MemberService::franchiseeAdded();
            // 储值卡自动过期
            CardService::checkExpired();
        });

        // 每天的2点执行，注意这里省略了秒位
        new Crontab('0 2 * * *', function () {
            // 签收后7天自动确认收货(已完成)
            OrderService::AutomaticReceipt();
            // 发货后15天自动完成
            OrderService::AutomaticComplete();
        });
    }
}
