27-05-2026 Update DHL Modul v2.0
This commit is contained in:
parent
53bdba33cd
commit
036595be94
41 changed files with 3346 additions and 310 deletions
|
|
@ -307,6 +307,16 @@ class DhlTrackingService
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update tracking immediately, bypassing queue dispatch.
|
||||
*/
|
||||
public function updateTrackingNow(DhlShipment $shipment, array $options = []): array
|
||||
{
|
||||
$settingController = new SettingController;
|
||||
|
||||
return $this->updateTrackingSync($shipment, $options, $settingController->getDhlConfig());
|
||||
}
|
||||
|
||||
/**
|
||||
* Update tracking asynchronously using queue
|
||||
*/
|
||||
|
|
@ -366,7 +376,7 @@ class DhlTrackingService
|
|||
$result = $this->trackShipment($shipment->dhl_shipment_no);
|
||||
|
||||
if ($result['success']) {
|
||||
$internalStatus = $this->mapDhlStatusToInternal($result['status']);
|
||||
$internalStatus = self::mapDhlStatusToInternal($result['status']);
|
||||
|
||||
// Update shipment with tracking data
|
||||
$updateData = [
|
||||
|
|
@ -481,7 +491,7 @@ class DhlTrackingService
|
|||
// Remove from map so we can detect missing ones later
|
||||
unset($shipmentMap[$trackingNo]);
|
||||
|
||||
$internalStatus = $this->mapDhlStatusToInternal($trackingResult['status']);
|
||||
$internalStatus = self::mapDhlStatusToInternal($trackingResult['status']);
|
||||
|
||||
$updateData = [
|
||||
'status' => $internalStatus,
|
||||
|
|
@ -593,19 +603,25 @@ class DhlTrackingService
|
|||
/**
|
||||
* Map DHL status codes to internal status
|
||||
*/
|
||||
private function mapDhlStatusToInternal(string $dhlStatus): string
|
||||
public static function mapDhlStatusToInternal(string $dhlStatus): string
|
||||
{
|
||||
$statusMap = [
|
||||
'pre-transit' => 'created',
|
||||
'pre_transit' => 'created',
|
||||
'pretransit' => 'created',
|
||||
'transit' => 'in_transit',
|
||||
'in-transit' => 'in_transit',
|
||||
'in_transit' => 'in_transit',
|
||||
'out-for-delivery' => 'out_for_delivery',
|
||||
'out_for_delivery' => 'out_for_delivery',
|
||||
'delivered' => 'delivered',
|
||||
'failure' => 'failed',
|
||||
'failed' => 'failed',
|
||||
'returned' => 'returned',
|
||||
'exception' => 'exception',
|
||||
];
|
||||
|
||||
return $statusMap[$dhlStatus] ?? 'unknown';
|
||||
return $statusMap[strtolower($dhlStatus)] ?? 'unknown';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue