public static function InsertRecord($data) { if ($data) { $array = []; foreach ($data as $k => $v) { $array[$v['idvisit']] = [$v['idvisit'], $v['idvisitor'], $v['user_id'], $v['custom_var_v2'], IP::binaryToStringIP($v['location_ip']), 0, $v['custom_var_v1']]; } // \yii::error(var_export($array,1)); //查找所有已经存在的记录 $batchInsert = []; if ($array) { $findAll = ApiVisitorDetail::find()->where(['in', 'idvisit', array_keys($array)])->asArray()->all(); if ($findAll) { $findAll = ArrayHelper::index($findAll, 'idvisit'); $batchInsert = array_diff_key($array, $findAll); } else { $batchInsert = $array; } $idvisits = ArrayHelper::getColumn($batchInsert, 0, false); StatLogVisit::updateAll(['status' => 1], ['idvisit' => $idvisits]); ApiVisitorDetail::xBatchInsert($batchInsert); } return count($batchInsert); } }
public static function cronUpdateIptext($limit = 100) { $data = StatVisit::find()->where(['iptext' => NULL])->andWhere('ip IS NOT NULL')->orderBy('created_at desc')->limit($limit)->all(); foreach ($data as $k => $model) { $iptext = IP::find($model->ip); //如果返回false 说明接口数据有问题 $model->iptext = implode(' ', $iptext); $model->update(); } }
public static function Columns6() { self::$columns[] = ['header' => 'ip归属地', 'value' => function ($data) { return isset($data['visitIp']) ? implode(" ", IP::find($data["visitIp"])) : ''; }]; }
public function getViewIpText() { return !empty($this->location_ip) ? implode(" ", \app\helpers\IP::find($this->location_ip)) : ''; }