OrderPayTransformer.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Mead
  5. * Date: 2019/8/5
  6. * Time: 2:44 PM
  7. */
  8. namespace App\Transformers;
  9. use App\Models\LocationLogMongodb;
  10. use App\Models\Order;
  11. use League\Fractal\TransformerAbstract;
  12. class OrderPayTransformer extends TransformerAbstract
  13. {
  14. protected $availableIncludes = ['locations'];
  15. public function transform(Order $model)
  16. {
  17. return [
  18. 'no' => $model->no,
  19. 'bike_no' => $model->bike_no,
  20. 'start_use_bike_time' => $model->start_use_bike_time->format('Y-m-d H:i:s'),
  21. 'end_use_bike_time' => $model->end_use_bike_time->format('Y-m-d H:i:s'),
  22. 'use_bike_time_length' => format_minutes($model->use_bike_time_length),
  23. 'pause_bike_time_length' => format_minutes($model->pause_bike_time_length),
  24. 'use_bike_distance_length' => format_mileage($model->use_bike_distance_length),
  25. 'time_money' => $model->time_money,
  26. 'distance_money' => $model->distance_money,
  27. 'pause_money' => $model->pause_money,
  28. 'dispatch_money' => $model->dispatch_money,
  29. 'preferential_money' => $model->preferential_money,
  30. 'total_money' => $model->total_money,
  31. 'pay_money' => $model->pay_money,
  32. 'pay_status' => $model->pay_status,
  33. 'status' => $model->status,
  34. ];
  35. }
  36. public function includeLocations(Order $order)
  37. {
  38. $locations = LocationLogMongodb::where('order_id', $order->id)->where('is_rent',LocationLogMongodb::RENT_NO)->where('latitude', '>', 0)->orderBy('created_at', 'asc')->get();
  39. return $this->collection($locations, new LocationLogsTransformer);
  40. }
  41. }