MemberUserService.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Services;
  3. use App\Models\MemberUser;
  4. use Illuminate\Support\Facades\DB;
  5. use Illuminate\Support\Facades\Log;
  6. use Slowlyo\OwlAdmin\Services\AdminService;
  7. /**
  8. * 用户管理
  9. *
  10. * @method MemberUser getModel()
  11. * @method MemberUser|\Illuminate\Database\Query\Builder query()
  12. */
  13. class MemberUserService extends AdminService
  14. {
  15. protected string $modelName = MemberUser::class;
  16. /**
  17. * 获取用户列表
  18. *
  19. * @param array $params 查询参数
  20. */
  21. public function manageUserList($viewName, array $whereParams, array $pageParams, array $sortParams = [])
  22. {
  23. try {
  24. $query = DB::table($viewName);
  25. // 获取分页数据
  26. // 条件筛选
  27. foreach ($whereParams as $key => $value) {
  28. if (is_string($value)) {
  29. $query->where($key, 'like', "%{$value}%");
  30. } else {
  31. $query->where($key, $value);
  32. }
  33. }
  34. // 排序
  35. ! empty($sortParams) && $query->orderBy($sortParams['orderBy'], $sortParams['orderDir']);
  36. $result = $query->paginate($pageParams['perPage'], ['*'], 'page', $pageParams['page']);
  37. return response()->json([
  38. 'code' => 200,
  39. 'message' => 'success',
  40. 'data' => $result,
  41. ]);
  42. } catch (\Exception $e) {
  43. Log::error('获取用户列表失败:'.$e->getMessage());
  44. return response()->json([
  45. 'code' => 500,
  46. 'message' => '获取用户列表失败',
  47. ]);
  48. }
  49. }
  50. }