BikeResource.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Http\Resources;
  3. use App\Models\Area;
  4. use App\Utils\GaodeMaps;
  5. use Illuminate\Http\Resources\Json\JsonResource;
  6. use Illuminate\Support\Facades\Log;
  7. class BikeResource extends JsonResource
  8. {
  9. /**
  10. * Transform the resource into an array.
  11. *
  12. * @param \Illuminate\Http\Request $request
  13. * @return array
  14. */
  15. public function toArray($request)
  16. {
  17. $model = $this->resource;
  18. $lngLat = $model->last_location ? [json_decode($model->last_location)->lng ,json_decode($model->last_location)->lat]: [116.397546,39.909153];
  19. return [
  20. 'id' => $model->id,
  21. 'bike_no' => $model->bike_no,//车辆编号
  22. 'box_no' => $model->box_no,//控制器编号
  23. 'battery_power' => $model->battery_power,//电 量
  24. 'is_link' => (bool)$model->is_link,//是否在线
  25. 'is_lock' => (bool)$model->is_lock,//是否锁车
  26. 'is_riding' => (bool)$model->is_riding,//是否骑行
  27. 'is_trouble' => (bool)$model->is_trouble,//是否故障
  28. 'is_in_parking' => (bool)$model->is_in_parking,
  29. 'last_location' => json_decode($model->last_location) ?? ['lat'=>'39.909153','lng'=>'116.397546'], // 最后位置
  30. 'last_location_app' => $lngLat,
  31. 'last_location_time' => $model->last_location_time ?? "0000 00 00",
  32. 'put_status' => (bool)$model->put_status,//投放状态
  33. 'put_time' => (bool)$model->put_status ? $model->put_time : '',//投放时间
  34. 'last_use_bike_end_time' => $model->last_use_bike_end_time,//最后骑行时间
  35. 'is_low_battery_power' => (bool)$model->is_low_battery_power,
  36. 'put_area_id' => $model->put_area_id,//投放区域id
  37. 'put_area' => $model->areas->name ?? '',//区域名称
  38. 'total_money' => $model->total_money,//车辆总收益
  39. // 'position' => GaodeMaps::getAddress($lngLat),
  40. 'position' => '未知',
  41. 'remark' => $model->remark ?? ''
  42. //'address' => $address['address']
  43. ];
  44. }
  45. }