WIN-2308041133\Administrator 2 месяцев назад
Родитель
Сommit
259a21521d
2 измененных файлов с 45 добавлено и 0 удалено
  1. 43 0
      app/api/controller/Shop.php
  2. 2 0
      app/api/route/shop.php

+ 43 - 0
app/api/controller/Shop.php

@@ -13,6 +13,7 @@ use app\model\api\StoreProductAttrValue;
 use app\model\api\UserScoreDetail;
 use app\model\api\User as UserModel;
 use app\Request;
+use app\services\AliyunExpressService;
 use library\services\UtilService;
 use think\facade\Db;
 use think\db\exception\DbException;
@@ -370,4 +371,46 @@ class Shop extends BaseController
             return app('json')->fail('支付失败');
         }
     }
+
+    /**
+     * 查询物流信息
+     * @param Request $request
+     */
+    public function express(Request $request)
+    {
+        $post = UtilService::getMore([
+            ['order_id', '', 'empty', '参数错误'],
+        ], $request);
+
+        $order = Db::name('store_order')
+            ->where('order_id', $post['order_id'])
+            ->where('uid', $request->user['uid'])
+            ->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);
+    }
 }

+ 2 - 0
app/api/route/shop.php

@@ -27,6 +27,8 @@ Route::group('shop', function () {
     Route::rule('confirmOrder', 'Shop/confirmOrder');
     //积分支付
     Route::rule('scorePay', 'Shop/scorePay');
+    //物流查询
+    Route::rule('express', 'Shop/express');
 })->middleware([
     AllowOriginMiddleware::class,
     SeretKeyMiddleware::class,