67 lines
1.8 KiB
PHP
67 lines
1.8 KiB
PHP
<?php
|
|
|
|
defined('BASEPATH') or exit('No direct script access allowed');
|
|
|
|
class Biz_visit_log_model extends HD_Model
|
|
{
|
|
private $table_name = 'lc_biz_visit_log';
|
|
const QUEUE_NAME = 'biz:visit:log'; // 队列名称
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct($this->table_name, 'default');
|
|
}
|
|
|
|
/**
|
|
* 添加数据到队列
|
|
* @param $data
|
|
* @return false
|
|
*/
|
|
public function addDataPushQueue($data)
|
|
{
|
|
if (!$data) {
|
|
return false;
|
|
}
|
|
$data['ip'] = $_SERVER['REMOTE_ADDR'];
|
|
$data['url'] = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
|
|
$data['day'] = date('Y-m-d');
|
|
$data['createTime'] = date('Y-m-d H:i:s');
|
|
$redis = load_cache();
|
|
return $redis->push(self::QUEUE_NAME, $data);
|
|
}
|
|
|
|
/**
|
|
* 出队列
|
|
* @param $limit
|
|
* @return false|mixed
|
|
*/
|
|
public function popQueue($limit = 50)
|
|
{
|
|
$redis = load_cache();
|
|
$i = 0;
|
|
$addData = [];
|
|
for ($i; $i < $limit; $i++) {
|
|
$data = $redis->pop(self::QUEUE_NAME, $limit);
|
|
if (!$data) {
|
|
break;
|
|
}
|
|
$addData[] = [
|
|
'biz_id' => $data->biz_id ?: 0,
|
|
'uid' => $data->uid ?: 0,
|
|
'title' => $data->title ?: '',
|
|
'taskName' => $data->taskName ?: '',
|
|
'params' => $data->params ? $data->params : json_encode([]),
|
|
'url' => $data->url ?: '',
|
|
'ip' => $data->ip ?: '',
|
|
'day' => $data->day ?: date('Y-m-d'),
|
|
'createTime' => $data->createTime ?: date('Y-m-d H:i:s'),
|
|
];
|
|
}
|
|
if ($addData) {
|
|
$req = $this->add_batch($addData);
|
|
return $req;
|
|
}
|
|
return false;
|
|
}
|
|
}
|