PayGiveCouponJob.php 964 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. /**
  3. * @package merchant
  4. *
  5. * @author xaboy
  6. * @day 2020/6/19
  7. *
  8. *
  9. */
  10. namespace crmeb\jobs;
  11. use app\common\repositories\store\coupon\StoreCouponRepository;
  12. use crmeb\interfaces\JobInterface;
  13. use think\facade\Log;
  14. class PayGiveCouponJob implements JobInterface
  15. {
  16. public function fire($job, $data)
  17. {
  18. $storeCouponRepository = app()->make(StoreCouponRepository::class);
  19. $coupons = $storeCouponRepository->getGiveCoupon($data['ids']);
  20. foreach ($coupons as $coupon) {
  21. if ($coupon->is_limited && 0 == $coupon->remain_count)
  22. continue;
  23. try {
  24. $storeCouponRepository->sendCoupon($coupon, $data['uid'], 'give');
  25. } catch (\Exception $e) {
  26. Log::info('自定发放买赠优惠券:' . $e->getMessage());
  27. }
  28. }
  29. $job->delete();
  30. }
  31. public function failed($data)
  32. {
  33. // TODO: Implement failed() method.
  34. }
  35. }