User.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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['offline_time'] = date('Y-m-d H:i:s', $item['offline_time']*1000);
  37. }
  38. } catch (Exception $e) {
  39. return $this->error($e->getMessage());
  40. }
  41. return $this->success(['count' => $count, 'list' => $list]);
  42. }
  43. //设置用户状态
  44. public function setStatus()
  45. {
  46. $user_id = (int)$this->request->param('user_id');
  47. $user = UserModel::where('user_id', $user_id)->find();
  48. if (!$user) {
  49. return $this->error('用户不存在');
  50. }
  51. $user->status = $user->status == 0 ? 1 : 0;
  52. $user->save();
  53. return $this->success($user);
  54. }
  55. }