85 lines
2.5 KiB
PHP
85 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace app\api\model;
|
|
|
|
use think\facade\Db;
|
|
use think\Model;
|
|
|
|
class UserPrizeExchange extends Model
|
|
{
|
|
public static function pages($params, $userId)
|
|
{
|
|
// 提取查询参数
|
|
$foreignId = isset($params['foreignId']) ? (int)$params['foreignId'] : null;
|
|
$foreignType = $params['foreignType'] ?? '';
|
|
$userName = $params['userName'] ?? '';
|
|
$prizeName = $params['prizeName'] ?? '';
|
|
$status = isset($params['status']) ? (int)$params['status'] : null;
|
|
$phone = $params['phone'] ?? '';
|
|
$remark = $params['remark'] ?? '';
|
|
$beginDate = $params['beginDate'] ?? '';
|
|
$endDate = $params['endDate'] ?? '';
|
|
|
|
$db = Db::connect(config('think-orm.search_library'));
|
|
// 构建查询条件
|
|
$query = $db->name('user_prize_exchange');
|
|
|
|
if (!is_null($foreignId)) {
|
|
$query = $query->where('foreign_id', $foreignId);
|
|
}
|
|
|
|
if (!empty($foreignType)) {
|
|
$query = $query->where('foreign_type', $foreignType);
|
|
}
|
|
|
|
if (!is_null($userId)) {
|
|
$query = $query->where('user_id', $userId);
|
|
}
|
|
|
|
if (!empty($userName)) {
|
|
$query = $query->where('user_name', 'like', "%{$userName}%");
|
|
}
|
|
|
|
if (!empty($prizeName)) {
|
|
$query = $query->where('prize_name', 'like', "%{$prizeName}%");
|
|
}
|
|
|
|
if (!is_null($status)) {
|
|
$query = $query->where('status', $status);
|
|
}
|
|
|
|
if (!empty($phone)) {
|
|
$query = $query->where('phone', 'like', "%{$phone}%");
|
|
}
|
|
|
|
if (!empty($remark)) {
|
|
$query = $query->where('remark', 'like', "%{$remark}%");
|
|
}
|
|
|
|
if (!empty($beginDate)) {
|
|
$query = $query->where('create_time', '>=', "{$beginDate} 00:00:00");
|
|
}
|
|
|
|
if (!empty($endDate)) {
|
|
$query = $query->where('create_time', '<=', "{$endDate} 23:59:59");
|
|
}
|
|
$count = $query->count();
|
|
// 设置排序
|
|
$query = $query->order('id', 'desc');
|
|
|
|
// 分页参数
|
|
$pageNum = isset($params['page']) ? (int)$params['page'] : 1;
|
|
$pageSize = isset($params['limit']) ? (int)$params['limit'] : 10;
|
|
|
|
// 执行分页查询
|
|
$list = $query->limit(page($pageNum, $pageSize), $pageSize)->select()->toArray();
|
|
|
|
return returnSuccessData([
|
|
'currPage' => $pageNum,
|
|
'pageSize' => $pageSize,
|
|
'list' => ($list),
|
|
'totalCount' => $count,
|
|
'totalPage' => ceil($count / $pageSize),
|
|
]);
|
|
}
|
|
} |