123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- <?php
- namespace backend\controllers;
- use common\logic\Amqp\Message;
- use common\logic\Amqp\Queue;
- use Yii;
- class MessageController extends BaseController
- {
- /**
- * 发送消息 (接受多条)
- * @author: libingke
- */
- public function actionSend()
- {
- //获取接收参数 利用model验证或者判断
- $params = Yii::$app->request->post();
- $post = [
- 'message1' => 'message 1',
- 'message2' => 'message 2',
- 'message3' => 'message 3',
- 'queue' => 'y1',
- ];
- try {
- $queue = (new Queue())->create($post['queue']);
- if ($queue['status'] == 1) {
- $message = new Message($queue['result']);
- $message->send($post['message1'], $post['queue']);
- $message->send($post['message2'], $post['queue']);
- $message->send($post['message3'], $post['queue']);
- return $result = ['code' => 200, 'message' => Yii::t('common', 'OK')];
- } else {
- return ['code' => $queue['status'], 'message' => $queue['result']];
- }
- } catch (\common\logic\Amqp\Exception $e) {
- $result = ['code' => $e->getCode(), 'message' => $e->getMessage()];
- }
- return $result;
- }
- /**
- * 发送消息 (接受多条)
- * @author: libingke
- */
- public function actionBatchSend()
- {
- //$params = Yii::$app->request->post();
- $post = [
- 'messages' => ['message 1', 'message 2'],
- 'queue' => 'task_queue',
- ];
- try {
- $model = new Message();
- $data = $model->batchSend($post['messages'], $post['queue']);
- $result = ['code' => 200, 'message' => Yii::t('common', 'OK'), 'data' => $data];
- } catch (\common\logic\Amqp\Exception $e) {
- $result = ['code' => $e->getCode(), 'message' => $e->getMessage(), 'data' => []];
- }
- return $result;
- }
- /**
- * 消费消息
- * @author: libingke
- */
- public function actionReceive()
- {
- //获取接收参数 利用model验证或者判断
- $params = Yii::$app->request->post();
- $post = [
- 'message1' => 'message 1',
- 'message2' => 'message 2',
- 'message3' => 'message 3',
- 'queue' => 'y1',
- ];
- try {
- $queue = (new Queue())->create($post['queue']);
- if ($queue['status'] == 1) {
- $message = new Message($queue['result']);
- $message->receive($post['queue']);
- return $result = ['code' => 200, 'message' => Yii::t('common', 'OK')];
- } else {
- return ['code' => $queue['status'], 'message' => $queue['result']];
- }
- } catch (\common\logic\Amqp\Exception $e) {
- $result = ['code' => $e->getCode(), 'message' => $e->getMessage()];
- }
- return $result;
- }
- /**
- * 批量消费消息
- * @author: libingke
- */
- public function actionBatchReceive()
- {
- //获取接收参数 利用model验证或者判断
- $params = Yii::$app->request->post();
- $post = [
- 'message1' => 'message 1',
- 'message2' => 'message 2',
- 'message3' => 'message 3',
- 'queue' => 'y1',
- ];
- try {
- $queue = (new Queue())->create($post['queue']);
- if ($queue['status'] == 1) {
- $message = new Message($queue['result']);
- $message->receive($post['queue']);
- return $result = ['code' => 200, 'message' => Yii::t('common', 'OK')];
- } else {
- return ['code' => $queue['status'], 'message' => $queue['result']];
- }
- } catch (\common\logic\Amqp\Exception $e) {
- $result = ['code' => $e->getCode(), 'message' => $e->getMessage()];
- }
- return $result;
- }
- /**
- * 删除消息
- * @author: libingke
- */
- public function actionDelete()
- {
- //获取接收参数 利用model验证或者判断
- $params = Yii::$app->request->post();
- $post = [
- 'message1' => 'message 1',
- 'message2' => 'message 2',
- 'message3' => 'message 3',
- 'queue' => 'y1',
- ];
- try {
- $queue = (new Queue())->create($post['queue']);
- if ($queue['status'] == 1) {
- $message = new Message($queue['result']);
- $message->delete($post['message1']);
- return $result = ['code' => 200, 'message' => Yii::t('common', 'OK')];
- } else {
- return ['code' => $queue['status'], 'message' => $queue['result']];
- }
- } catch (\common\logic\Amqp\Exception $e) {
- $result = ['code' => $e->getCode(), 'message' => $e->getMessage()];
- }
- return $result;
- }
- /**
- * 批量删除消息
- * @author: libingke
- */
- public function actionBatchDelete()
- {
- }
- }
|