Files
shipping-portal/app/Http/Resources/OrderTrackingResource.php
T

47 lines
1.6 KiB
PHP

<?php
namespace App\Http\Resources;
use App\Classes\ValueObjects\Constants\PackingListType;
use App\Classes\ValueObjects\Constants\RoleTypes;
use App\Models\PackingList;
use Carbon\Carbon;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Log;
class OrderTrackingResource extends JsonResource
{
/**
* Transform the resource into an array.
*
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
$exceptionUsers = in_array(Auth()->user()->type, [RoleTypes::SHADOW_ADMIN, RoleTypes::SUPER_ADMIN]);
$packingList = PackingList::where('reference', $this->tracking_no)->where('type', PackingListType::SHIPPING_PACKING_LIST)->first();
$tracking = $this->tracking;
$remark = $this->remark;
$tracking_english = $this->tracking_english;
$remark_english = $this->remark_english;
if($tracking === '第三方提货') {
$tracking = '安排派送中';
$tracking_english = 'Arranging Delivery';
$remark = '';
$remark_english = '';
}
return [
'id' => $this->id,
'tracking_no' => $exceptionUsers ? $this->tracking_no : '',
'order_id' => $packingList->owner->reference,
'tracking' => $tracking . ($remark ? " (" . $remark . ")" : ''),
'tracking_english' => $tracking_english . ($remark_english ? " (" . $remark_english . ")" : ''),
'tracking_date' => Carbon::parse($this->tracking_time)->format('Y-m-d'),
];
}
}