| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- namespace addons\BusinessCard\common\logic;
- use addons\BusinessCard\common\enums\CardEnums;
- use addons\BusinessCard\common\models\BusinessCard;
- use addons\BusinessCard\common\models\BusinessCardBuriedPoint;
- use addons\BusinessCard\common\models\BusinessCardCustomerLog;
- use addons\BusinessCard\common\models\BusinessCardSecretUserScore;
- use common\enums\RabbitMqEnum;
- use common\enums\StatusEnum;
- use common\helpers\FormatHelper;
- use yii\helpers\Json;
- class BuriedPointLogic
- {
- /**
- * @param array $data
- * @return void
- * @throws \Exception
- */
- public static function handler(array $data) {
- \Yii::error(__CLASS__ . " -- " . Json::encode($data));
- if (empty($data['log_type']) || empty($data['card_id'])) return;
- \Yii::$app->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);
- }
- }
- }
|