services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $data, self::class, 'async_handle'); } /** * @param $data * @return true|void */ public function async_handle($data) { if (empty($data['log_type']) || empty($data['card_id'])) return true; $t = \Yii::$app->db->beginTransaction(); try { // 判断当前用户是否有浏览过名片 $card = BusinessCard::getOne([ ['id' => $data['card_id']] ]); if (empty($card)) { return true; } $model = new BusinessCardBuriedPoint(); $model->mall_id = $data['mall_id']; $model->user_id = $data['user_id']; $model->item_id = $data['card_id']; $model->log_type = $data['log_type']; $model->object_id = $data['ext_data']['params']['proId'] ?? 0; $model->ext_data = (array)$data['ext_data'] ?? []; $model->save(); BusinessCardSecretUserScore::setData($data['mall_id'], $data['user_id'], $data['log_type']); $t->commit(); } catch (\Exception $e) { $t->rollBack(); $exception = FormatHelper::exception($e,__METHOD__); echo $exception; \Yii::error($exception); } } }