|
...
|
...
|
@@ -60,7 +60,7 @@ class ProjectVisit extends Command |
|
|
|
$api_type = $task->api_type;
|
|
|
|
$api_url = $task->api_url;
|
|
|
|
|
|
|
|
$page_size = 200;
|
|
|
|
$page_size = 1000;
|
|
|
|
|
|
|
|
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', task_type: ' . $api_type . ', update start' . PHP_EOL;
|
|
|
|
|
|
...
|
...
|
@@ -76,6 +76,7 @@ class ProjectVisit extends Command |
|
|
|
$data = curl_c($url);
|
|
|
|
if (isset($data['count']) && $data['count'] > 0) {
|
|
|
|
$count = $data['count'];
|
|
|
|
$max_id = $data['data'][0]['id'] ?? 0;
|
|
|
|
|
|
|
|
$total_page = ceil($count / $page_size);
|
|
|
|
for ($page = 1; $page <= $total_page; $page++) {
|
|
...
|
...
|
@@ -84,35 +85,40 @@ class ProjectVisit extends Command |
|
|
|
if (isset($data_page['data']) && $data_page['data']) {
|
|
|
|
$items = $data_page['data'];
|
|
|
|
$model = new Visit();
|
|
|
|
$insert = [];
|
|
|
|
foreach ($items as $item) {
|
|
|
|
if (isset($item['id']) && $item['id']) {
|
|
|
|
$visit = $model->read(['original_id' => $item['id']], 'id');
|
|
|
|
if (!$visit) {
|
|
|
|
try {
|
|
|
|
$url_arr = parse_url($item['request'] ?? '');
|
|
|
|
$model->insert([
|
|
|
|
'url' => $item['request'] ?? '',
|
|
|
|
'referrer_url' => $item['referrer'] ?? '',
|
|
|
|
'device_port' => isset($item['is_moblie']) && $item['is_moblie'] == 1 ? 2 : 1,
|
|
|
|
'country' => $item['ip_area'] ?? '',
|
|
|
|
'ip' => $item['ip'] ?? '',
|
|
|
|
'depth' => $item['pv'],
|
|
|
|
'domain' => $url_arr['host'] ?? '',
|
|
|
|
'is_inquiry' => $item['is_cf'] ?? 0,
|
|
|
|
'created_at' => date('Y-m-d H:i:s', isset($item['update']) && $item['update'] ? $item['update'] : time()),
|
|
|
|
'updated_at' => date('Y-m-d H:i:s', isset($item['update']) && $item['update'] ? $item['update'] : time()),
|
|
|
|
'updated_date' => date('Y-m-d', isset($item['c_time']) && $item['c_time'] ? strtotime($item['c_time']) : time()),
|
|
|
|
'original_id' => $item['id'],
|
|
|
|
]);
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if ($item['id'] > $task->max_id) {
|
|
|
|
$url_arr = parse_url($item['request'] ?? '');
|
|
|
|
$insert[] = [
|
|
|
|
'url' => $item['request'] ?? '',
|
|
|
|
'referrer_url' => $item['referrer'] ?? '',
|
|
|
|
'device_port' => isset($item['is_moblie']) && $item['is_moblie'] == 1 ? 2 : 1,
|
|
|
|
'country' => $item['ip_area'] ?? '',
|
|
|
|
'ip' => $item['ip'] ?? '',
|
|
|
|
'depth' => $item['pv'],
|
|
|
|
'domain' => $url_arr['host'] ?? '',
|
|
|
|
'is_inquiry' => $item['is_cf'] ?? 0,
|
|
|
|
'created_at' => date('Y-m-d H:i:s', isset($item['update']) && $item['update'] ? $item['update'] : time()),
|
|
|
|
'updated_at' => date('Y-m-d H:i:s', isset($item['update']) && $item['update'] ? $item['update'] : time()),
|
|
|
|
'updated_date' => date('Y-m-d', isset($item['c_time']) && $item['c_time'] ? strtotime($item['c_time']) : time()),
|
|
|
|
'original_id' => $item['id'],
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
$model->insert($insert);
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ',page: ' . $page . ' error: ' . $e->getMessage() . PHP_EOL;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($max_id) {
|
|
|
|
$task->max_id = $max_id;
|
|
|
|
$task->save();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
return true;
|
|
|
|
}
|
|
...
|
...
|
@@ -122,6 +128,7 @@ class ProjectVisit extends Command |
|
|
|
$data = curl_c($url);
|
|
|
|
if (isset($data['count']) && $data['count'] > 0) {
|
|
|
|
$count = $data['count'];
|
|
|
|
$max_id = $data['data'][0]['id'] ?? 0;
|
|
|
|
|
|
|
|
$total_page = ceil($count / $page_size);
|
|
|
|
for ($page = 1; $page <= $total_page; $page++) {
|
|
...
|
...
|
@@ -131,36 +138,41 @@ class ProjectVisit extends Command |
|
|
|
$items = $data_page['data'];
|
|
|
|
$model = new VisitItem();
|
|
|
|
$p_model = new Visit();
|
|
|
|
$insert = [];
|
|
|
|
foreach ($items as $item) {
|
|
|
|
if (isset($item['id']) && $item['id']) {
|
|
|
|
$visit = $model->read(['original_id' => $item['id']], 'id');
|
|
|
|
if (!$visit) {
|
|
|
|
try {
|
|
|
|
$p_info = $p_model->read(['ip' => $item['ip'] ?? '', 'updated_date' => $item['day_at'] ?? '']);
|
|
|
|
if ($p_info) {
|
|
|
|
$model->insert([
|
|
|
|
'customer_visit_id' => $p_info['id'],
|
|
|
|
'url' => $p_info['url'],
|
|
|
|
'referrer_url' => $p_info['referrer_url'],
|
|
|
|
'device_port' => $p_info['device_port'],
|
|
|
|
'country' => $p_info['country'],
|
|
|
|
'ip' => $p_info['ip'],
|
|
|
|
'domain' => $p_info['domain'],
|
|
|
|
'created_at' => $item['time_str'] ?? $p_info['created_at'],
|
|
|
|
'updated_at' => $item['time_str'] ?? $p_info['updated_at'],
|
|
|
|
'updated_date' => $item['day_at'] ?? $p_info['updated_date'],
|
|
|
|
'original_id' => $item['id'],
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
|
|
|
|
continue;
|
|
|
|
if ($item['id'] > $task->max_id) {
|
|
|
|
$p_info = $p_model->read(['ip' => $item['ip'] ?? '', 'updated_date' => $item['day_at'] ?? '']);
|
|
|
|
if ($p_info) {
|
|
|
|
$insert[] = [
|
|
|
|
'customer_visit_id' => $p_info['id'],
|
|
|
|
'url' => $p_info['url'],
|
|
|
|
'referrer_url' => $p_info['referrer_url'],
|
|
|
|
'device_port' => $p_info['device_port'],
|
|
|
|
'country' => $p_info['country'],
|
|
|
|
'ip' => $p_info['ip'],
|
|
|
|
'domain' => $p_info['domain'],
|
|
|
|
'created_at' => $item['time_str'] ?? $p_info['created_at'],
|
|
|
|
'updated_at' => $item['time_str'] ?? $p_info['updated_at'],
|
|
|
|
'updated_date' => $item['day_at'] ?? $p_info['updated_date'],
|
|
|
|
'original_id' => $item['id'],
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
$model->insert($insert);
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ',page: ' . $page . ' error: ' . $e->getMessage() . PHP_EOL;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($max_id) {
|
|
|
|
$task->max_id = $max_id;
|
|
|
|
$task->save();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
return true;
|
|
|
|
}
|
...
|
...
|
|