request->get('supplys'); $data = $this->request->post(); $message_type = $data['message_type'] ?? ''; if (empty($message_type)) { echo json_encode(['code' => 0]);die; } $method = strtolower(str_replace(".", "_", $message_type)); $service = new NoticeHandleService(); \Yii::error("-------------------- 记录开始 -------------------- $supplys_id"); \Yii::error(var_export($data, true)); \Yii::error("-------------------- 记录结束 -------------------- $supplys_id"); // 蛋糕商品和订单由蛋糕去处理 if (strpos($message_type, 'Cake') !== false) { $cake_callback_notice = \addons\Cake\common\models\CakeCallbackNotice::class; if (class_exists($cake_callback_notice)) { /** @var \addons\Cake\common\models\CakeCallbackNotice|string $cake_callback_notice */ $method = $cake_callback_notice::$messageTypeMap[$message_type] ?? ''; /** @var \addons\Cake\common\service\NoticeHandleService $cake_notice_handle_service */ $cake_notice_handle_service = \addons\Cake\common\service\NoticeHandleService::class; $cake_notice_handle_service::handle([ 'data' => $data, 'method' => $method, // 'supplys_id' => $supplys_id, 'supplys_id' => 0, ]); }else{ \Yii::error(__METHOD__ . " {$cake_callback_notice} not exists"); } return Json::encode([ 'code' => 0 ]); } elseif (strpos($message_type, 'fulu') !== false && class_exists(\addons\QianxiSupplyChain\common\models\QianxiSupplyChainCallbackNotice::class)) { // 权益接口 $method = \addons\QianxiSupplyChain\common\models\QianxiSupplyChainCallbackNotice::$messageTypeMap[$message_type]; $flag = \addons\QianxiSupplyChain\common\service\NoticeHandleService::handle([ 'data' => $data, 'method'=> $method ]); return Json::encode([ 'code' => 0 ]); } $method = strtolower(str_replace(".", "_", $message_type)); $service = new NoticeHandleService(); // if (!method_exists($service, $method)) { // // 方法不存在 // \Yii::error("qijuhe供应链回调:类型处理方法不存在"); // return Json::encode([ // 'code' => 0 // ]); // } // 写日志 // $data['notice_id'] = $data['message_id']; // NoticeModel::addLog($message_type, $data); // \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, [ // 'data' => $data, // 'method' => $method, // 'supplys_id' => $supplys_id, // ], NoticeHandleService::class, 'handle'); // 延时处理 \Yii::$app->services->rabbitMq->delayTask( 20, [ 'data' =>$data, 'method' => $method, 'supplys_id' => $supplys_id, ], NoticeHandleService::class, 'handle' ); // NoticeHandleService::handle([ // 'data' => $data, // 'method' => $method, // 'supplys_id' => $supplys_id, // ]); echo json_encode(['code' => 0]);die; } }