SendNewPeopleCouponJob.php 1.1 KB

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