12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- /**
- * @Name
- * @Description
- * @Author 刘学玺
- * @Date 2024/8/23 10:20
- */
- namespace App\Http\Services\Backend\Server\System;
- use App\Http\Services\Service;
- use App\Models\System\User;
- class UserService extends Service
- {
- //"deptId": 100,
- //"deptName": "芋道源码",
- //"postIds": [],
- protected array $selectColumn = ['id', 'username', 'nickname', 'remark', 'email', 'mobile', 'sex', 'avatar', 'status', 'login_ip as loginIp', 'login_date as loginDate'];
- protected array $appendColumn = ['created_at as createTime'];
- public function getUserList($params): array
- {
- $user = User::query();
- isset($params['username']) && filled($params['username']) && $user->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)
- {
- }
- }
|