34 行
1.1 KiB
PHP
34 行
1.1 KiB
PHP
<?php
|
|
|
|
namespace addons\shopro_aliyun_express\library;
|
|
|
|
use addons\shopro_aliyun_express\library\provider\AliyunExpressProvider;
|
|
use addons\shopro_aliyun_express\library\provider\ExpressBirdProvider;
|
|
use addons\shopro_aliyun_express\library\provider\KdniaoExpressProvider;
|
|
use addons\shopro_aliyun_express\library\provider\ProviderInterface;
|
|
|
|
class ExpressProviderRouter
|
|
{
|
|
public static function resolve($provider = null)
|
|
{
|
|
$provider = $provider ?: ExpressConfig::getInstance()->getProvider();
|
|
|
|
switch ($provider) {
|
|
case 'kdniao':
|
|
return new KdniaoExpressProvider();
|
|
case 'expressbird':
|
|
return new ExpressBirdProvider();
|
|
case 'aliyun':
|
|
default:
|
|
return new AliyunExpressProvider();
|
|
}
|
|
}
|
|
|
|
public static function query($waybillNo, $phone = '', $expressCode = '', $provider = null)
|
|
{
|
|
/** @var ProviderInterface $instance */
|
|
$instance = self::resolve($provider);
|
|
return $instance->query($waybillNo, $phone, $expressCode);
|
|
}
|
|
}
|