Current File : /home/tradevaly/prioyshi.com/project/app/Http/Resources/OrderResource.php |
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class OrderResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
$cart = unserialize(bzdecompress(utf8_decode($this->cart)));
foreach($cart->items as $item){
$new_cart[] = $item;
}
$i = 0;
foreach($new_cart as $value){
if(isset($new_cart[$i]['item'])){
$newdata["id"] = $new_cart[$i]['item']['id'];
$newdata['name'] = $new_cart[$i]['item']['name'];
$newdata['vendor_id'] = $new_cart[$i]['item']['user_id'];
$newdata['type'] = $new_cart[$i]['item']['type'];
$newdata['feature_image'] = url('/') . '/assets/images/products/'.$new_cart[$i]['item']['photo'];
$new_cart[$i] += $newdata;
unset($new_cart[$i]['item']);
$new_cart[$i] += ['total_price' => $new_cart[$i]['price']];
unset($new_cart[$i]['license']);
unset($new_cart[$i]['dp']);
unset($new_cart[$i]['price']);
}
$i++;
}
if($this->payment_status != 'Completed'){
if($this->method != 'Cash On Delivery' && $this->method != 'Mobile Money'){
return [
'id' => $this->id,
'number' => $this->order_number,
'total' => $this->currency_sign . "" . round($this->pay_amount * $this->currency_value , 2),
'status' => $this->status,
'details' => route('order', $this->id),
'products'=> $new_cart,
'created_at' => ['date'=>$this->created_at->format('d-m-Y h:i:sa')],
'updated_at' => ['date'=>$this->updated_at->format('d-m-Y h:i:sa')],
'payment_url' => route('payment.checkout')."?order_number=".$this->order_number
];
}else{
return [
'id' => $this->id,
'number' => $this->order_number,
'total' => $this->currency_sign . "" . round($this->pay_amount * $this->currency_value , 2),
'status' => $this->status,
'details' => route('order', $this->id),
'products'=> $new_cart,
'created_at' => ['date'=>$this->created_at->format('d-m-Y h:i:sa')],
'updated_at' => ['date'=>$this->updated_at->format('d-m-Y h:i:sa')],
];
}
}else{
return [
'id' => $this->id,
'number' => $this->order_number,
'total' => $this->currency_sign . "" . round($this->pay_amount * $this->currency_value , 2),
'status' => $this->status,
'details' => route('order', $this->id),
'products'=> $new_cart,
'created_at' => ['date'=>$this->created_at->format('d-m-Y h:i:sa')],
'updated_at' => ['date'=>$this->updated_at->format('d-m-Y h:i:sa')],
];
}
}
}