SendNewPeopleCouponJob.php 1.1 KB

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