DepositOrderResource.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace App\Http\Resources;
  3. use App\Models\DepositOrder;
  4. use App\Models\DepositRefund;
  5. use Carbon\Carbon;
  6. use Illuminate\Http\Resources\Json\JsonResource;
  7. class DepositOrderResource 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. if ($model->is_refund == DepositOrder::REFUND_NO) {
  19. $transaction_status = DepositOrder::$payStatusMaps[$model->pay_status];
  20. } else {
  21. $transaction_status = '退还成功';
  22. }
  23. return [
  24. 'no' => $model->no, //押金订单号
  25. 'nickname' => $model->users->nickname ?? '', //用户昵称
  26. 'mobile' => $model->users->mobile ?? '', //手机号
  27. 'type' => DepositOrder::$payTypeMaps[$model->pay_type], //押金类型
  28. 'transaction_type' => DepositOrder::$transactionTypeMaps[$model->is_refund], //交易类型
  29. 'money' => $model->money,
  30. 'pay_time' => $model->pay_time, //缴纳时间
  31. 'refund_created_at' => empty($model->depositRefund->created_at) ? '' : date('Y-m-d H:i:s', strtotime($model->depositRefund->created_at)), //申请退款时间
  32. 'refund_pay_time' => $model->depositRefund->pay_time ?? '', //退款成功时间
  33. 'area' => $model->area->name ?? '', //所属区域
  34. // 首先用is_refund 判断交易类型 再分别判断交易状态
  35. 'is_refund' => $model->is_refund,
  36. 'user_id' => $model->users->id,
  37. 'transaction_status' => $transaction_status,
  38. 'refundOrder' => $model->is_refund == 1 ? $model->depositRefund : '',
  39. ];
  40. }
  41. }