UserService.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/9/4 12:04
  7. */
  8. namespace App\Http\Services\Backend\Server\Member;
  9. use App\Models\Member\User;
  10. class UserService
  11. {
  12. protected array $selectColumn = ['id', 'name', 'nickname', 'mark', 'mobile', 'sex', 'avatar', 'point', 'status', 'login_ip as loginIp','register_ip as registerIp'];
  13. protected array $appendColumn = ['login_date as loginDate', 'created_at as createTime'];
  14. public function getUserList($params): array
  15. {
  16. $user = User::query();
  17. isset($params['nickname']) && filled($params['nickname']) && $user->whereLike('nickname', "%{$params['nickname']}%");
  18. isset($params['mobile']) && filled($params['mobile']) && $user->whereLike('mobile', "%{$params['mobile']}%");
  19. // isset($params['status']) && filled($params['status']) && $user->where('status', $params['status']);
  20. !empty($params['loginDate']) && $user->whereBetween('login_date', $params['loginDate']);
  21. !empty($params['createTime']) && $user->whereBetween('created_at', $params['createTime']);
  22. $rolePage = $user->select([...$this->selectColumn, ...$this->appendColumn])->paginate($params['pageSize'], ['*'], 'page', $params['pageNo']);
  23. return ['list' => $rolePage->items(), 'total' => $rolePage->total()];
  24. }
  25. public function getUser($id)
  26. {
  27. return User::query()->select($this->selectColumn)->find($id);
  28. }
  29. }