body); if (!is_array($data)) { Yii::error("Invalid custom message format: {$msg->body}", 'rabbitmq.custom'); return ConsumerInterface::MSG_REJECT; } Yii::info("Processing custom message: " . json_encode($data), 'rabbitmq.custom'); // 根据操作类型分发处理 $action = $data['action'] ?? null; switch ($action) { case 'create': $result = $this->handleCreateCustom($data); break; case 'update': $result = $this->handleUpdateCustom($data); break; case 'delete': $result = $this->handleDeleteCustom($data); break; default: Yii::warning("Unknown custom action: {$action}", 'rabbitmq.custom'); $result = false; } if ($result) { Yii::info("Custom message processed successfully", 'rabbitmq.custom'); return ConsumerInterface::MSG_ACK; } else { Yii::error("Custom message processing failed", 'rabbitmq.custom'); return ConsumerInterface::MSG_REQUEUE; } } catch (\Exception $e) { Yii::error("Custom consumer exception: " . $e->getMessage(), 'rabbitmq.custom'); return ConsumerInterface::MSG_REQUEUE; } } /** * 处理客户创建 * * @param array $data 消息数据 * @return bool 处理结果 */ private function handleCreateCustom($data) { // TODO: 实现客户创建业务逻辑 // 调用对应的 Service 或 Class 层处理 return true; } /** * 处理客户更新 * * @param array $data 消息数据 * @return bool 处理结果 */ private function handleUpdateCustom($data) { // TODO: 实现客户更新业务逻辑 // 调用对应的 Service 或 Class 层处理 return true; } /** * 处理客户删除 * * @param array $data 消息数据 * @return bool 处理结果 */ private function handleDeleteCustom($data) { // TODO: 实现客户删除业务逻辑 // 调用对应的 Service 或 Class 层处理 return true; } }