Files
spacestation/common/models/biz/Biz_visit_log_model.php
2025-11-08 23:07:53 +08:00

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;
}
}