|
|
@@ -7,6 +7,7 @@ use app\BaseController;
|
|
|
use app\model\api\StoreOrder;
|
|
|
use app\model\api\StoreOrderCartInfo;
|
|
|
use app\Request;
|
|
|
+use app\services\AliyunExpressService;
|
|
|
use library\services\UtilService;
|
|
|
use think\facade\Db;
|
|
|
|
|
|
@@ -270,6 +271,47 @@ class Shop extends BaseController
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询物流信息
|
|
|
+ * @param Request $request
|
|
|
+ */
|
|
|
+ public function express(Request $request)
|
|
|
+ {
|
|
|
+ $post = UtilService::getMore([
|
|
|
+ ['id', '', 'empty', '参数错误'],
|
|
|
+ ], $request);
|
|
|
+
|
|
|
+ $order = Db::name('store_order')
|
|
|
+ ->where('id', $post['id'])
|
|
|
+ ->find();
|
|
|
+
|
|
|
+ if (empty($order)) {
|
|
|
+ return app('json')->fail('订单不存在');
|
|
|
+ }
|
|
|
+
|
|
|
+ if (empty($order['express_num'])) {
|
|
|
+ return app('json')->fail('暂无物流信息');
|
|
|
+ }
|
|
|
+
|
|
|
+ $service = new AliyunExpressService();
|
|
|
+ $result = $service->query($order['express_num'], $order['express_code'] ?? '');
|
|
|
+
|
|
|
+ if ($result === false) {
|
|
|
+ return app('json')->fail('物流查询失败,请检查阿里云物流AppCode配置');
|
|
|
+ }
|
|
|
+
|
|
|
+ $data = [
|
|
|
+ 'express_type' => $order['express_type'] ?? '',
|
|
|
+ 'express_code' => $order['express_code'] ?? '',
|
|
|
+ 'express_num' => $order['express_num'],
|
|
|
+ 'list' => $result['result']['list'] ?? [],
|
|
|
+ 'status' => $result['result']['deliverystatus'] ?? -1,
|
|
|
+ 'status_text' => $service->getStatusText((int)($result['result']['deliverystatus'] ?? -1)),
|
|
|
+ ];
|
|
|
+
|
|
|
+ return app('json')->success('查询成功', $data);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 订单备注
|
|
|
* @param Request $request
|