From f08fcc575c2ae19a210ba0c367b9d41a9ce9471d Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sat, 20 Jul 2024 16:48:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9UserLists=E7=B1=BB?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E6=9B=B4=E5=A4=9A=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/lists/user/UserLists.php | 46 ++++++++---------------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/app/admin/lists/user/UserLists.php b/app/admin/lists/user/UserLists.php index c2ddc082d..19b3d6332 100644 --- a/app/admin/lists/user/UserLists.php +++ b/app/admin/lists/user/UserLists.php @@ -12,8 +12,9 @@ use app\common\model\user\User; use app\common\model\user\UserAddress; use app\common\model\vip_flow\VipFlow; use support\Db; +use app\common\lists\ListsSearchInterface; -class UserLists extends BaseAdminDataLists implements ListsExcelInterface +class UserLists extends BaseAdminDataLists implements ListsExcelInterface,ListsSearchInterface { /** * @notes 搜索条件 @@ -23,8 +24,11 @@ class UserLists extends BaseAdminDataLists implements ListsExcelInterface */ public function setSearch(): array { - $allowSearch = ['keyword', 'channel', 'create_time_start', 'create_time_end','store_id','user_ship']; - return array_intersect(array_keys($this->params), $allowSearch); + return [ + '=' => ['store_id','user_ship','is_disable'], + '%like%' => ['account','mobile'], + '%pipe_like%' => ['nickname'=>'nickname|real_name'], + ]; } @@ -39,28 +43,15 @@ class UserLists extends BaseAdminDataLists implements ListsExcelInterface */ public function lists(): array { - $params = $this->params; - $where = []; - if(isset($params['nickname']) && $params['nickname'] != ''){ - $where[] = ['real_name|nickname','like','%'.$params['nickname'].'%']; - } - if(isset($params['account']) && $params['account'] != ''){ - $where[] = ['account','like','%'.$params['account'].'%']; - } - if(isset($params['mobile']) && $params['mobile'] != ''){ - $where[] = ['mobile','like','%'.$params['mobile'].'%']; - } - if(isset($params['is_disable']) && $params['is_disable'] != ''){ - $where[] = ['is_disable','=', $params['is_disable']]; - } $field = "id,nickname,real_name,sex,avatar,account,mobile,channel,create_time,purchase_funds,user_ship, label_id,integral,now_money,total_recharge_amount"; - $lists = User::withSearch($this->setSearch(), $this->params)->where($where) + $lists = User::where($this->searchWhere) ->with(['user_ship','user_label']) ->limit($this->limitOffset, $this->limitLength) ->field($field) ->order('id desc') - ->select()->each(function($data){ + ->select() + ->each(function($data){ $data['sex_text'] = $data->sex_text; })->toArray(); foreach ($lists as &$item) { @@ -115,21 +106,8 @@ class UserLists extends BaseAdminDataLists implements ListsExcelInterface */ public function count(): int { - $params = $this->params; - $where = []; - if(isset($params['nickname']) && $params['nickname'] != ''){ - $where[] = ['nickname','like','%'.$params['nickname'].'%']; - } - if(isset($params['account']) && $params['account'] != ''){ - $where[] = ['account','like','%'.$params['account'].'%']; - } - if(isset($params['mobile']) && $params['mobile'] != ''){ - $where[] = ['mobile','like','%'.$params['mobile'].'%']; - } - if(isset($params['is_disable']) && $params['is_disable'] != ''){ - $where[] = ['is_disable','=', $params['is_disable']]; - } - return User::withSearch($this->setSearch(), $this->params)->where($where)->count(); + + return User::where($this->searchWhere)->count(); }