OrderOperateBikeFilter.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Filters\Traits;
  3. use App\Models\Order;
  4. use App\Models\OrderRent;
  5. use Illuminate\Database\Eloquent\Builder;
  6. trait OrderOperateBikeFilter
  7. {
  8. public function operateStatus($val)
  9. {
  10. $this->builder->whereHas('order_bike_operates', function (Builder $query) use ($val) {
  11. $query->where('type', $val);
  12. });
  13. }
  14. public function putAreaId($val)
  15. {
  16. $this->builder->where('area_id', $val);
  17. }
  18. public function normalRiding($val)
  19. {
  20. if ($val == 1) {
  21. $this->builder->where(function ($q) {
  22. $q->where('status', Order::STATUS_RIDE_BIKE)->orWhere('status', Order::STATUS_PAUSE_BIKE);
  23. });
  24. }
  25. }
  26. public function rentRiding($val)
  27. {
  28. if ($val == 1) {
  29. $this->builder->where(function ($q) {
  30. $q->where('status', OrderRent::STATUS_RENT_BIKE);
  31. });
  32. }
  33. }
  34. public function isDispatchMoney($val)
  35. {
  36. if ($val == 1) {
  37. $this->builder->where('dispatch_money', '>', 0);
  38. } elseif ($val == 2) {
  39. $this->builder->where('dispatch_money', '=', 0);
  40. }
  41. }
  42. }