'ID', 'mall_id' => 'Mall ID', 'user_id' => 'User ID', 'view_material' => 'View Material', 'view_times' => 'View Times', 'view_seconds' => 'View Seconds', 'recent_time' => 'Recent Time', 'status' => 'Status', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } /** * @return \yii\db\ActiveQuery */ public function getUser() { return $this->hasOne(User::class, ['id' => 'user_id'])->select('id,mobile,nickname,avatar_url,parent_id,username'); } /** * 数据设置 */ public static function setData(array $params) { try{ if (!isset($params['mall_id']) || empty($params['mall_id'])) throw new Exception('缺少商城ID'); if (isset($params['id']) && !empty($params['id'])) { $model = self::findOne([ 'id' => $params['id'], 'mall_id' => $params['mall_id'], 'status' => StatusEnum::ENABLED ]); if(empty($model)) throw new Exception('统计记录不存在或已删除'); } else if (isset($params['user_id']) && !empty($params['user_id'])) { $model = self::findOne([ 'user_id' => $params['user_id'], 'mall_id' => $params['mall_id'], 'status' => StatusEnum::ENABLED ]); } if (!empty($model)) { if (isset($params['view_material'])) { $model->view_material = $model->view_material + $params['view_material']; unset($params['view_material']); } if (isset($params['view_times'])) { $model->view_times = $model->view_times + $params['view_times']; unset($params['view_times']); } if (isset($params['view_seconds'])) { $model->view_seconds = $model->view_seconds + $params['view_seconds']; unset($params['view_seconds']); } } else { $model = new self(); $model->loadDefaultValues(); $model->mall_id = $params['mall_id']; } if (!$model->load($params,'') || !$model->save()) throw new Exception($model->getErrorMessage()); return $model; }catch(Exception $e){ self::setStaticError($e->getMessage()); return false; } } }