User.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\admin\controller;
  3. use app\BaseController;
  4. use app\admin\model\User as UserModel;
  5. use Exception;
  6. class User extends BaseController
  7. {
  8. /**
  9. * @api {get} /user/list 用户列表
  10. */
  11. function list()
  12. {
  13. try {
  14. $params = $this->request->param();
  15. $page = $params['page'] ?? 1;
  16. $limit = $params['limit'] ?? 15;
  17. $user_id = $params['user_id'] ?? '';
  18. $name = $params['name'] ?? '';
  19. $query = UserModel::where('role', 0);
  20. if (!empty($user_id)) {
  21. $query = $query->where('user_id', $user_id);
  22. }
  23. if (!empty($name)) {
  24. $query = $query->where(function ($query) use ($name) {
  25. $query->where('account', 'like', "%{$name}%")
  26. ->whereOr('phone', 'like', "%{$name}%")
  27. ->whereOr('realname', 'like', "%{$name}%");
  28. });
  29. }
  30. $count = $query->count();
  31. $list = $query->order('last_login_time','desc')
  32. ->limit($limit)
  33. ->page($page)
  34. ->select();
  35. foreach($list as &$item) {
  36. $item['last_login_time'] = date('Y-m-d H:i:s', $item['last_login_time']);
  37. $item['offline_time'] = $item['offline_time'] ? date('Y-m-d H:i:s', $item['offline_time']) : '';
  38. }
  39. } catch (Exception $e) {
  40. return $this->error($e->getMessage());
  41. }
  42. return $this->success(['count' => $count, 'list' => $list]);
  43. }
  44. //设置用户状态
  45. public function setStatus()
  46. {
  47. $user_id = (int)$this->request->param('user_id');
  48. $user = UserModel::where('user_id', $user_id)->find();
  49. if (!$user) {
  50. return $this->error('用户不存在');
  51. }
  52. $user->status = $user->status == 0 ? 1 : 0;
  53. $user->save();
  54. return $this->success($user);
  55. }
  56. }