with([ 'hospital','hospital_auth','consumer' ]); if($w['only_consumer']??""){ $q = $q->where('is_consumer','=',1); } if($w['username']??""){ $q = $q->where('username','like',"%{$w['username']}%"); } if($w['name']??""){ $q = $q->where('name','like',"%{$w['name']}%"); } if($w['phone']??""){ $q = $q->where('phone','=',$w['phone']); } if($w['email']??""){ $q = $q->where('phone','=',$w['email']); } if($w['user_id']??""){ $q = $q->where('id','=',$w['user_id']); } return $q->paginate($limit, [ '*' ], '', $page); } /** * 获取单条信息 * * @param $id * @return \App\Module\User\Models\User|null */ static public function info($id) { $q = \App\Module\User\Models\User::query(); $info = $q->find($id); return $info; } static public function infoinfo($id,$create = false) { $q = \App\Module\User\Models\UserInfo::query(); $info = $q->find($id); if(!$info && $create){ $info = self::infoCreate($id); } return $info; } /** * 信息创建 * @param $user_id * @return \App\Module\User\Models\UserInfo */ static public function infoCreate($user_id) { $info = self::info($user_id); $model = new \App\Module\User\Model\UserInfo(); $model->user_id = $user_id; $model->status = Status::Hidden; $model->nickname = '用户**'.substr($info->username, -4); $model->avatar = '0'; $model->google2fa_secret = ''; $model->save(); return $model; } /** * 编辑用户 * * @param $id * @param $password * @return null */ static public function edit($id, $password) { /** * @var \App\Module\User\Models\User $user */ $user = \App\Module\User\Models\User::query()->find($id); if ($user) { $user->password = password_hash($password, PASSWORD_DEFAULT); $user->save(); return $user; } return null; } /** * 删除 * * @param $id * @return bool|null */ static public function delete($id) { /** * @var \App\Module\User\Models\User $user */ $user = \App\Module\User\Models\User::query()->find($id); if ($user) { return $user->delete(); } return null; } /** * 批量删除 * * @param $ids * @return true|null */ static public function delete_batch($ids) { /** * @var \App\Module\User\Models\User $user */ $users = \App\Module\User\Models\User::query()->findMany($ids); if ($users) { foreach ($users as $user){ $user->delete(); } return true; } return null; } /** * 编辑数据 * * @param $id * @param $data * @return void */ static public function edit_data($id,$data) { if(!$data){ return []; } /** * @var \App\Module\User\Models\User $user */ $user = \App\Module\User\Models\User::query()->find($id); foreach ($data as $k=> $m){ $user->$k = $m; } $user->save(); } }