BirthdayCrontabController.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * UserGift会员礼包-生日礼包 定时任务
  4. */
  5. namespace console\controllers;
  6. use addons\UserGift\common\enums\GiftEnum;
  7. use addons\UserGift\common\listeners\UserGiftListener;
  8. use common\enums\RabbitMqEnum;
  9. use common\models\user\UserExtra;
  10. use yii\console\Controller;
  11. use yii\console\ExitCode;
  12. class BirthdayCrontabController extends Controller
  13. {
  14. /**
  15. * 查询当天生日的用户
  16. * 0 0 2 * * * *
  17. * @Author: lun
  18. * @DateTime: 2021/11/17 0017 20:38
  19. * @Copyright: copyright (c) 2021 广东七件事集团
  20. * @return int
  21. */
  22. public function actionExecute(){
  23. try {
  24. $md = date('m-d', time());
  25. $list = UserExtra::find()->select('user_id,birthday')->andWhere(['like', 'birthday', '%' . $md, false])->with(['user' => function($query){
  26. $query->select('id,mall_id');
  27. }])->asArray()->all();
  28. if (empty($list)) {
  29. echo 'success';
  30. return ExitCode::OK;
  31. }
  32. // 调用事件
  33. $gift['gift_type'] = GiftEnum::GIFT_TYPE_BIRTHDAY;
  34. foreach ($list as $extra) {
  35. $gift['mall_id'] = $extra['user']['mall_id'];
  36. $gift['user_ids'] = $extra['user_id'];
  37. \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $gift, UserGiftListener::class, 'async_handle');
  38. }
  39. echo 'success';
  40. return ExitCode::OK;
  41. } catch (\Exception $e) {
  42. echo $e->getMessage();
  43. $this->stderr('Error: ' . ExitCode::getReason(ExitCode::UNSPECIFIED_ERROR));
  44. return ExitCode::UNSPECIFIED_ERROR;
  45. }
  46. }
  47. }