Files
zzp-server/app/adminapi/lists/user/UserInfoLists.php
2026-01-19 14:19:22 +08:00

98 lines
2.7 KiB
PHP

<?php
namespace app\adminapi\lists\user;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\user\UserInfo;
use app\common\lists\ListsSearchInterface;
/**
* 用户信息列表
* Class UserInfoLists
* @package app\adminapi\listsuser
*/
class UserInfoLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author BD
* @date 2024/06/08 17:51
*/
public function setSearch(): array
{
return [
'=' => ['ui.user_id', 'ui.email', 'ui.google_key', 'ui.card_name', 'ui.card_num', 'ui.auth_email', 'ui.auth_google', 'ui.auth_card', 'ui.create_time'],
];
}
/**
* @notes 搜索条件
* @author 段誉
* @date 2023/2/24 16:08
*/
public function queryWhere()
{
$where = [];
// 用户编号
if (!empty($this->params['user_info'])) {
$where[] = ['u.sn|u.account|u.mobile', '=', $this->params['user_info']];
}
// 下单时间
if (!empty($this->params['start_time']) && !empty($this->params['end_time'])) {
$time = [strtotime($this->params['start_time']), strtotime($this->params['end_time'])];
$where[] = ['ui.create_time', 'between', $time];
}
return $where;
}
/**
* @notes 获取用户信息列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author BD
* @date 2024/06/08 17:51
*/
public function lists(): array
{
$field = 'ui.id,ui.user_id,ui.email,ui.google_key,ui.google_qrcode,ui.card_name,ui.card_num,ui.card_img1,ui.card_img2,ui.card_img3,ui.auth_email,ui.auth_google,ui.auth_card,ui.create_time,ui.card_time';
$field .= ',u.account,u.sn as u_sn,u.mobile';
return UserInfo::alias('ui')
->join('user u', 'u.id = ui.user_id')
->field($field)
->where("auth_card != 0")
->where($this->queryWhere())
->where($this->searchWhere)
->limit($this->limitOffset, $this->limitLength)
->order(['ui.card_time' => 'desc' ,'ui.id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取用户信息数量
* @return int
* @author BD
* @date 2024/06/08 17:51
*/
public function count(): int
{
return UserInfo::alias('ui')
->join('user u', 'u.id = ui.user_id')
->where("auth_card != 0")
->where($this->queryWhere())
->where($this->searchWhere)
->count();
}
}