60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
|
<?php
|
||
|
namespace app\api\logic;
|
||
|
|
||
|
use app\common\basics\Logic;
|
||
|
use app\common\model\SearchRecord;
|
||
|
use app\common\server\ConfigServer;
|
||
|
use think\facade\Db;
|
||
|
|
||
|
class SearchRecordLogic extends Logic
|
||
|
{
|
||
|
public static function lists($userId)
|
||
|
{
|
||
|
// 热搜关键词
|
||
|
$hotLists= ConfigServer::get('hot_search', 'hot_keyword', []);
|
||
|
|
||
|
// 用户历史搜索记录
|
||
|
if($userId) {
|
||
|
// 已登录
|
||
|
$where = [
|
||
|
'del' => 0,
|
||
|
'user_id' => $userId
|
||
|
];
|
||
|
$order = [
|
||
|
'update_time' => 'desc',
|
||
|
'id' => 'desc'
|
||
|
];
|
||
|
$historyLists = SearchRecord::where($where)
|
||
|
->order($order)
|
||
|
->limit(10)
|
||
|
->column('keyword');
|
||
|
}else{
|
||
|
// 未登录
|
||
|
$historyLists = [];
|
||
|
}
|
||
|
|
||
|
return [
|
||
|
'history_lists' => $historyLists,
|
||
|
'hot_lists' => $hotLists
|
||
|
];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 清空搜索历史
|
||
|
*/
|
||
|
public static function clear($userId)
|
||
|
{
|
||
|
try {
|
||
|
$data = [
|
||
|
'update_time' => time(),
|
||
|
'del' => 1
|
||
|
];
|
||
|
$result = Db::name('search_record')->where('user_id', $userId)->update($data);
|
||
|
|
||
|
return true;
|
||
|
} catch(\Exception $e) {
|
||
|
self::$error = $e->getMessage();
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
}
|