43 行
1.3 KiB
PHP
43 行
1.3 KiB
PHP
<?php
|
|
|
|
namespace app\admin\controller\shopro_aliyun_express;
|
|
|
|
use addons\shopro_aliyun_express\library\Bridge;
|
|
use addons\shopro_aliyun_express\library\ExpressConfig;
|
|
use app\admin\model\shopro\order\OrderExpress;
|
|
use app\common\controller\Backend;
|
|
|
|
class Query extends Backend
|
|
{
|
|
/**
|
|
* 按包裹ID查询轨迹
|
|
*/
|
|
public function index()
|
|
{
|
|
$expressId = intval($this->request->get('express_id', 0));
|
|
if ($expressId <= 0) {
|
|
$this->error('请提供 express_id');
|
|
}
|
|
|
|
if (!ExpressConfig::getInstance()->isEnabled()) {
|
|
$this->error('快递查询插件未启用');
|
|
}
|
|
|
|
$orderExpress = OrderExpress::with('order')->where('id', $expressId)->find();
|
|
if (!$orderExpress) {
|
|
$this->error('包裹不存在');
|
|
}
|
|
|
|
$phone = $orderExpress->order ? $orderExpress->order->phone : '';
|
|
try {
|
|
$result = Bridge::queryTrack($orderExpress['express_no'], $phone, $orderExpress['express_code'], false);
|
|
$this->success('查询成功', null, $result);
|
|
} catch (\think\exception\HttpResponseException $e) {
|
|
throw $e;
|
|
} catch (\Throwable $e) {
|
|
$msg = trim($e->getMessage());
|
|
$this->error($msg !== '' ? $msg : '查询失败');
|
|
}
|
|
}
|
|
}
|