redis->get($statusKey); if ($status !== false) { $mark = AmqpConfig::getMarkById($status);//状态码 => 提示信息 if (Cache::STATUS_HAND_OK == $status) { return json_decode(Yii::$app->redis->get($resultKey), true);//直接返回数据 } else { throw new Exception(2101, $mark);//非正常时回执 } } else { throw new Exception(2102);//无效 } } else { throw new Exception(2102);//无效 } } /** * 发送消息 * @author: libingke * @return array * @throws Exception */ public function actionSend() { $model = new MessageForm(); $model->setScenario('send'); $model->load(['MessageForm' => Yii::$app->request->get()]); $data = []; if ($model->validate()) { $data = $model->sendMessageV1_1(); } else { $model->handleError();//处理验证失败 } return [ 'code' => 200, 'message' => Yii::t('error', 200), 'data' => $data ]; } /** * 批量发送消息 * @author: libingke * @return array */ public function actionBatchSend() { $model = new MessageForm(); $model->setScenario('batch_send'); $model->load(['MessageForm' => Yii::$app->request->get()]); $data = []; if ($model->validate()) { $data = $model->batchSendMessage(); } else { $model->handleError(); } return [ 'code' => 200, 'message' => Yii::t('error', 200), 'data' => $data ]; } /** * 获取队列消息列表 * @author: libingke */ public function actionList() { $model = new MessageForm(); $model->setScenario('message_list'); $model->load(['MessageForm' => Yii::$app->request->get()]); $data = []; if ($model->validate()) { $data = $model->getMessageList(); } else { $model->handleError(); } return [ 'code' => 200, 'message' => Yii::t('error', 200), 'data' => $data ]; } /** * 消费消息 * @author: libingke */ public function actionConsume() { $model = new MessageForm(); $model->setScenario('consume'); $model->load(['MessageForm' => Yii::$app->request->get()]); $data = []; if ($model->validate()) { $data = $model->consumeMessage(); } else { $model->handleError(); } return [ 'code' => 200, 'message' => Yii::t('error', 200), 'data' => $data ]; } /** * 删除消息 * @author: libingke */ public function actionDelete() { } /** * 清空消息 * @author: libingke */ public function actionPurge() { $model = new MessageForm(); $model->setScenario('purge'); $model->load(['MessageForm' => Yii::$app->request->get()]); $data = []; if ($model->validate()) { $data = $model->purge(); } else { $model->handleError(); } return [ 'code' => 200, 'message' => Yii::t('error', 200), 'data' => $data ]; } }