UserRepairedController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Filters\UserRepairedFilter;
  4. use App\Http\Resources\UserRepairedResource;
  5. use App\Models\AdminMerchant;
  6. use App\Models\AdminUser;
  7. use App\Models\AdminUserArea;
  8. use App\Models\Area;
  9. use App\Models\Trouble;
  10. use App\Models\Upload;
  11. use App\Utils\Admin;
  12. use Illuminate\Http\Request;
  13. use App\Http\Controllers\Controller;
  14. use Illuminate\Support\Facades\Log;
  15. /**
  16. * Class UserRepairedController
  17. * @package App\Http\Controllers\Admin
  18. */
  19. class UserRepairedController extends Controller
  20. {
  21. /**
  22. * index 报修列表
  23. *
  24. * @param Request $request
  25. * @param UserRepairedFilter $filter
  26. * @return \Illuminate\Http\JsonResponse *@author Fx
  27. *
  28. */
  29. public function index(Request $request, UserRepairedFilter $filter)
  30. {
  31. $admin_id = Admin::user()->id;
  32. $userRepaired = Trouble::query()
  33. ->filter($filter)
  34. ->where(AdminMerchant::getMerchantWhere())
  35. ->with(['users'])
  36. ->orderByDesc('id');
  37. if (!Admin::isAdministrator()) {
  38. $area_ids = AdminUser::getAreaIdsByAdminId($admin_id);
  39. if (count($area_ids) !== 0) {
  40. $userRepaired = $userRepaired->whereIn('area_id', $area_ids);
  41. } else {
  42. $area_id = AdminUserArea::query()->where('admin_id', $admin_id)->first('area_id');
  43. $area_id = $area_id->area_id ?? 0;
  44. $userRepaired = $userRepaired->where('area_id', $area_id);
  45. }
  46. }
  47. $userRepaired = $request->get('all') ? $userRepaired->get() : $userRepaired->paginate();
  48. return $this->ok(UserRepairedResource::collection($userRepaired));
  49. }
  50. /**
  51. * getRepairedImg 获取报修图片
  52. *
  53. * @param Request $request
  54. * @return \Illuminate\Http\JsonResponse *@author Fx
  55. *
  56. */
  57. public function getRepairedImg(Request $request)
  58. {
  59. $imgIds = $request->get('imgIds') ?? [];
  60. if (empty($imgIds)) return $this->error('参数错误');
  61. $images = Upload::query()->whereIn('id', $imgIds)->get(['url'])->toArray();
  62. return $this->ok($images);
  63. }
  64. }