<?php




namespace ln\jobs;


use app\common\repositories\store\coupon\StoreCouponRepository;
use ln\interfaces\JobInterface;
use think\facade\Log;

class PayGiveCouponJob implements JobInterface
{
    public function fire($job, $data)
    {
        $storeCouponRepository = app()->make(StoreCouponRepository::class);
        $coupons = $storeCouponRepository->getGiveCoupon($data['ids']);
        foreach ($coupons as $coupon) {
            if ($coupon->is_limited && 0 == $coupon->remain_count)
                continue;
            try {
                $storeCouponRepository->sendCoupon($coupon, $data['uid'], 'buy');
            } catch (\Exception $e) {
                Log::info('自动发放买赠优惠券:' . $e->getMessage());
            }
        }
        $job->delete();
    }

    public function failed($data)
    {
        // TODO: Implement failed() method.
    }
}