Sendcoupon.php 981 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. /***
  3. * User: jun_hy
  4. * Date: 2022/7/14
  5. * Time: 10:48
  6. */
  7. namespace app\job;
  8. use think\queue\Job;
  9. use app\common\model\Coupon;
  10. use think\Db;
  11. class Sendcoupon
  12. {
  13. public function fire(Job $job, $data)
  14. {
  15. $send =new Coupon();
  16. $result = $send->sendCoupon($data);
  17. if (isset($result['msg'])&&!empty($result['msg'])) {
  18. $isJobDone = true;
  19. }else{
  20. $isJobDone = false;
  21. }
  22. $data['addtime']=date('Y-m-d H:i:s',time());
  23. if ($isJobDone) {
  24. //如果任务执行成功, 删除任务
  25. $data['code']=$result['code'];
  26. Db::name('send_coupon_log')->insertGetId($data);
  27. $job->delete(); // 删除任务
  28. }else{
  29. if ($job->attempts() > 3) {
  30. $job->delete(); // 删除任务
  31. }else{
  32. //如果任务执行失败, 重发 100秒后在执行
  33. $job->release(100);
  34. }
  35. }
  36. }
  37. }