$job_request->id], [ 'courier' => $data['courier'], 'tracking_number' => $data['tracking_number'] ] ); $shipped_status = JobRequestStatus::where('name', 'shipped')->first(); $track_exist = JobRequestTrack::where('job_request_id',$job_request->id)->where('status_id',$shipped_status->id)->first(); if(!$track_exist) { $track = new JobRequestTrack(); $track->job_request_id = $data['job_request_id']; $track->status_id = $shipped_status->id; $track->save(); } $job_request->job_status = 'In Progress'; $job_request->track_package_status = 'Shipped'; $job_request->save(); if($job_request->category->name == 'giveaway'){ $data['id'] = $data['job_request_id']; $job_request->job_status = 'Completed'; $job_request->save(); (new JobRequestsRepository())->fulfilled($data); } return $shipment; } return false; } public function received($data) { $received_status = JobRequestStatus::where('name', 'received')->first(); $track = new JobRequestTrack(); $track->job_request_id = $data['id']; $track->status_id = $received_status->id; $track->save(); $meta = new JobRequestTrackMeta(); $meta->track_id = $track->id; $meta->name = 'received_at'; $meta->value = $data['received_at']; $meta->save(); $job_request = JobRequest::find($data['id']); $job_request->job_status = 'In Progress'; $job_request->track_package_status = 'Received'; $job_request->save(); return true; } public function receivedUpdate($data) { $meta = JobRequestTrackMeta::where('track_id', $data['track_id'])->first(); if($meta){ $meta->value = $data['received_at']; $meta->update(); return true; } return false; } }