98 lines
2.7 KiB
PHP
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();
|
|
}
|
|
|
|
} |