27-05-2026 DHL Modul v2.1 / Optimierung tracking

This commit is contained in:
Kevin Adametz 2026-05-27 18:51:23 +02:00
parent 036595be94
commit 2bdc9ada3c
33 changed files with 2367 additions and 2086 deletions

View file

@ -3,6 +3,7 @@
namespace App\Services;
use App\Models\Setting;
use Illuminate\Support\Facades\Schema;
use InvalidArgumentException;
class DhlProductResolver
@ -13,7 +14,7 @@ class DhlProductResolver
public const INTERNATIONAL_PRODUCT_CODE = 'V53PAK';
public const DEFAULT_INTERNATIONAL_COUNTRIES = ['AT', 'ES'];
public const DEFAULT_INTERNATIONAL_COUNTRIES = ['AT', 'ES', 'CH', 'NL', 'BE', 'FR'];
public const DHL_COUNTRY_CODES = [
'DE' => 'DEU',
@ -172,9 +173,14 @@ class DhlProductResolver
$useEnvPriority = config('dhl.config_source') === 'env';
$configCountries = config('dhl.international_countries', self::DEFAULT_INTERNATIONAL_COUNTRIES);
$countries = $configCountries;
$storedCountries = Schema::hasTable('settings')
? Setting::getContentBySlug('dhl_international_countries')
: false;
if (! $useEnvPriority) {
$countries = Setting::getContentBySlug('dhl_international_countries') ?: $configCountries;
if (is_array($storedCountries)) {
$countries = $storedCountries;
} elseif (! $useEnvPriority) {
$countries = $storedCountries ?: $configCountries;
}
return self::normalizeCountryCodeList(is_array($countries) ? $countries : []);