whereLike('username', "%{$params['username']}%"); isset($params['mobile']) && filled($params['mobile']) && $user->whereLike('mobile', "%{$params['mobile']}%"); isset($params['status']) && filled($params['status']) && $user->where('status', $params['status']); !empty($params['createTime']) && $user->whereBetween('created_at', $params['createTime']); $rolePage = $user->select([...$this->selectColumn, ...$this->appendColumn])->paginate($params['pageSize'], ['*'], 'page', $params['pageNo']); return ['list' => $rolePage->items(), 'total' => $rolePage->total()]; } public function getUser(int $id) { $user = User::query()->select($this->selectColumn)->find($id); return $user; } public function createUser(array $data) { $user = self::toModel($data, User::class); return $user->create($user->getAttributes())->id; } public function updateUser(array $data, int $id): void { $user = self::toModel($data, User::class); $user->where('id', $id)->update($user->getAttributes()); } public function setStatus($data): void { $user = User::query()->find($data['id']); $user->status = $data['status']; $user->save(); } public static function getUserByUsername($username) { return User::query()->where('username', $username)->first(); } public static function isPasswordMatch($password, $matchPassword) { } }