feat: 初始化雄戈商城服务端代码与Webhook自动部署配置
这个提交包含在:
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
namespace addons\shopro\controller;
|
||||
|
||||
use fast\ExpressBird;
|
||||
|
||||
class OrderExpress extends Base
|
||||
{
|
||||
|
||||
protected $noNeedLogin = [];
|
||||
protected $noNeedRight = ['*'];
|
||||
|
||||
|
||||
public function index()
|
||||
{
|
||||
$params = $this->request->get();
|
||||
|
||||
$this->success('包裹列表', \addons\shopro\model\OrderExpress::getList($params));
|
||||
}
|
||||
|
||||
public function detail()
|
||||
{
|
||||
$params = $this->request->get();
|
||||
$result = \addons\shopro\model\OrderExpress::detail($params);
|
||||
|
||||
$order = \addons\shopro\model\Order::where(['id' => $params['order_id']])
|
||||
->field(['id', 'consignee', 'phone', 'address'])
|
||||
->find();
|
||||
|
||||
$trackList = [];
|
||||
$expressStatus = '';
|
||||
$expressCompanyName = '';
|
||||
|
||||
$expressNo = class_exists('\\addons\\shopro_aliyun_express\\library\\ExpressSanitizer')
|
||||
? \addons\shopro_aliyun_express\library\ExpressSanitizer::waybillNo($result['express_no'] ?? '')
|
||||
: trim($result['express_no'] ?? '');
|
||||
|
||||
if (class_exists('\\addons\\shopro_aliyun_express\\library\\Bridge')) {
|
||||
try {
|
||||
$queryResult = \addons\shopro_aliyun_express\library\Bridge::queryTrack(
|
||||
$expressNo,
|
||||
$order ? $order->phone : '',
|
||||
$result['express_code'] ?? ''
|
||||
);
|
||||
$trackList = $queryResult['trackList'] ?? [];
|
||||
$expressStatus = $queryResult['expressStatus'] ?? '';
|
||||
$expressCompanyName = $queryResult['expressCompanyName'] ?? '';
|
||||
} catch (\Exception $e) {
|
||||
$trackList = [];
|
||||
}
|
||||
} else {
|
||||
$expressBird = new ExpressBird();
|
||||
$ret = $expressBird->queryTrack($expressNo, $order ? $order->phone : '');
|
||||
if (!empty($ret['Success'])) {
|
||||
$trackList = $ret['Traces'] ?? [];
|
||||
if (!empty($trackList)) {
|
||||
foreach ($trackList as $k => &$v) {
|
||||
if (($v['Action'] ?? null) == 202 && $k >= 2) {
|
||||
$trackList[$k - 2]['Action'] = 3;
|
||||
$trackList[$k - 1]['Action'] = 4;
|
||||
}
|
||||
}
|
||||
unset($v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$result['trackList'] = $trackList;
|
||||
$result['expressStatus'] = $expressStatus;
|
||||
$result['expressCompanyName'] = $expressCompanyName;
|
||||
|
||||
$this->success('包裹详情', $result);
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户