63 lines
1.6 KiB
PHP
63 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use app\common\library\DatabaseRoute;
|
|
use think\facade\Db;
|
|
use Throwable;
|
|
use think\Model;
|
|
use think\facade\Cache;
|
|
|
|
|
|
class MessageInfo extends Model
|
|
{
|
|
|
|
|
|
public static function selectMessageList($params)
|
|
{
|
|
// 解析查询参数
|
|
$userId = $params['userId'] ?? null;
|
|
$state = $params['state'] ?? null;
|
|
$type = $params['type'] ?? null;
|
|
$pageNum = $params['page'] ?? 1;
|
|
$pageSize = $params['limit'] ?? 10;
|
|
|
|
|
|
$query = Db::connect(get_slave_connect_name())->name('message_info');
|
|
|
|
|
|
|
|
// 添加条件(仅当参数不为空时)
|
|
if ($userId !== null) {
|
|
$query = $query->where('user_id', $userId);
|
|
}
|
|
|
|
if ($state !== null) {
|
|
$query = $query->where('state', $state);
|
|
}
|
|
|
|
if ($type !== null) {
|
|
$query = $query->where('type', $type);
|
|
}
|
|
$total = $query->count();
|
|
// 构建查询
|
|
$messageList = $query->order('create_at', 'desc')->limit(page($pageNum, $pageSize), $pageSize)->select()->toArray();
|
|
|
|
// 关联用户信息
|
|
foreach ($messageList as &$message) {
|
|
if ($message['user_id'] !== null) {
|
|
$user = DatabaseRoute::getDb('tb_user', $message['user_id'])->find();
|
|
$message['user_entity'] = $user ?: null;
|
|
}
|
|
}
|
|
return [
|
|
'list' => $messageList,
|
|
'totalCount' => $total,
|
|
'totalPage' => (int)ceil($total / $pageSize),
|
|
'currPage' => $pageNum,
|
|
'pageSize' => $pageSize,
|
|
];
|
|
|
|
}
|
|
|
|
} |