'ID', 'mall_id' => '商城ID', 'user_id' => '用户ID', 'is_buy_again' => '是否复购:0=否,1=是', 'is_share' => '是否分享过商城:0=未分享,1=已分享', 'last_share_at' => '最后分享时间', 'follow' => '关注商城:0=未关注,1=已关注,2=取消关注', 'follow_at' => '关注商城时间,根据follow字段变化', 'last_login_at' => '最后登录时间', 'first_pay_at' => '首次消费时间', 'last_pay_at' => '最后消费时间', 'last_create_order_at' => '最后下单时间', 'status' => '状态【1启用 0禁用 -1删除】', 'created_at' => '创建时间', 'updated_at' => '上次更新数据时间', ]; } /** * 用户行为数据维护 * @Author: lun * @DateTime: 2021/11/19 0019 15:57 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $mall_id * @param $user_id * @param $data */ public static function setData($mall_id, $user_id, $data) { try { $model = self::findOne(['mall_id' => $mall_id, 'user_id' => $user_id, 'status' => StatusEnum::ENABLED]); if (empty($model)) { $model = new self(); $model->mall_id = $mall_id; $model->user_id = $user_id; $model->loadDefaultValues(); } // 支付行为记录 if (!empty($data['last_pay_at'])) { // 首次消费时间 if ($model->first_pay_at == 0) { $model->first_pay_at = $data['last_pay_at']; // 触发首单奖励礼包 if (MallAddons::isInstall($mall_id,AddonsEnum::ADDONS_NAME_CONSUMEGIFT)) { $gift['mall_id'] = $mall_id; $gift['user_ids'] = $user_id; $gift['gift_type'] = GiftEnum::GIFT_TYPE_FIRSTPAY; Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $gift, ConsumeGiftListener::class, 'async_handle'); } } // 复购 if ($model->is_buy_again == 0) { $count_order = Order::find()->select('id')->where(['mall_id' => $mall_id, 'user_id' => $user_id, 'pay_status' => StatusEnum::ENABLED])->count(); if ($count_order >= 2) $model->is_buy_again = 1; } } if (!$model->load($data, '') || !$model->save()) throw new Exception($model->getErrorMessage()); return true; } catch (\Exception $e) { $exception = FormatHelper::exception($e, "用户行为数据维护"); echo $exception; self::setStaticError($exception); // Yii::error($exception); ErrHelper::log('用户行为数据维护', $e); return false; } } }