'畅捷通消息', 'get' => Yii::$app->request->get(), 'post' => Yii::$app->request->post() ]); $encryptMsg = Yii::$app->request->post('encryptMsg', ''); if (empty($encryptMsg)) { Yii::$app->controller->asJson(['result' => 'success'])->send(); return; } // 解密并写记录,用于获取token $messageKey = Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_CHANJET, 'basic.message_key'); if (empty($messageKey)) { Yii::$app->controller->asJson(['result' => 'success'])->send(); return; } $decodeData = Common::decryptAES($encryptMsg, $messageKey); if (empty($decodeData)) { Yii::$app->controller->asJson(['result' => 'success'])->send(); return; } $dataToArray = Json::decode($decodeData); // 判断类型 if (!empty($dataToArray['msgType']) && $dataToArray['msgType'] === 'APP_TICKET') { $count = AddonsChanjetAppTicket::find() ->where(['mall_id' => $this->mall_id]) ->count(); if ($count) { AddonsChanjetAppTicket::updateAll(['decode_data' => $dataToArray, 'updated_at' => time()], ['mall_id' => $this->mall_id]); } else { AddonsChanjetAppTicket::setData([ 'mall_id' => $this->mall_id, 'decode_data' => $dataToArray ]); } } else { AddonsChanjetOtherMsg::setData([ 'mall_id' => $this->mall_id, 'msg' => $decodeData ]); // TODO 如果是库存变动消息,更新库存 } // 接收到消息后,必须这种返回 Yii::$app->controller->asJson(['result' => 'success'])->send(); } }