informConsumer.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * 通知的消费者
  4. * User: ssh <ssh@zhhinc.com>
  5. * Date: 2019/9/9 0009
  6. * Time: 14:54
  7. */
  8. namespace common\components\rabbitmq\consumer;
  9. use bizHd\message\services\InformAdminService;
  10. use bizHd\message\services\InformUserService;
  11. use mikemadisonweb\rabbitmq\components\ConsumerInterface;
  12. use PhpAmqpLib\Message\AMQPMessage;
  13. class informConsumer implements ConsumerInterface
  14. {
  15. /**
  16. * ConsumerInterface::MSG_ACK - Acknowledge message (mark as processed) and drop it from the queue
  17. * ConsumerInterface::MSG_REJECT - Reject and drop message from the queue
  18. * ConsumerInterface::MSG_REQUEUE - Reject and requeue message in RabbitMQ
  19. */
  20. public function execute(AMQPMessage $msg)
  21. {
  22. $data = unserialize($msg->body);
  23. print_r($data);
  24. // return ConsumerInterface::MSG_ACK;
  25. $userType = $data['userType'];
  26. if ($userType == 'user') {
  27. // $return = InformUserService::consumeInformQueue($data);
  28. // if ($return) {
  29. // return ConsumerInterface::MSG_ACK;
  30. // }
  31. }
  32. if ($userType == 'admin') {
  33. $return = InformAdminService::consumeInformQueue($data);
  34. if ($return) {
  35. return ConsumerInterface::MSG_ACK;
  36. }
  37. }
  38. return ConsumerInterface::MSG_REQUEUE;
  39. }
  40. }