541469799@qq.com 1 سال پیش
والد
کامیت
11a310f40d

+ 48 - 6
app/common/library/express/Usps.php

@@ -26,20 +26,21 @@ class Usps
     use ErrorTrait;
 
     // 物流跟踪查询API地址
-    const QUERY_URL = 'http://production.shippingapis.com/ShippingAPI.dll';
+    //const QUERY_URL = 'http://production.shippingapis.com/ShippingAPI.dll';
+    const QUERY_URL = 'http://f1.itdida.com/itdida-api/queryTracks?no=';
 
     // 查询轨迹账号
     /* @var string $userId */
-    private string $userId;
+    private $userId = '';
 
     /**
      * 构造方法
      * @param $userId
      */
-    public function __construct($userId)
-    {
-        $this->userId = $userId;
-    }
+//    public function __construct($userId)
+//    {
+//        $this->userId = $userId;
+//    }
 
     /**
      * 执行查询
@@ -100,4 +101,45 @@ class Usps
         curl_close($ch);
         return $result;
     }
+
+    /**
+     * 执行查询
+     * @param string $expressNo
+     * @return string|bool
+     */
+    public function queryF1(string $expressNo)
+    {
+        // 缓存索引
+        $cacheIndex = 'express_usps_'. $expressNo;
+        if ($cacheData = Cache::get($cacheIndex)) {
+            return $cacheData;
+        }
+        // 请求快递100 api
+        $result = $this->curlGet(self::QUERY_URL.$expressNo);
+
+        $express = helper::jsonDecode($result);
+        // 记录错误信息
+        if (!isset($express['data']) || !empty($express['errorMsg'])) {
+            $this->error = $express['errorMsg'] ?? '查询失败';
+            return false;
+        }
+        // 记录缓存, 时效30分钟
+        Cache::set($cacheIndex, $express['data'], 3000);
+        return $express['data'];
+    }
+
+    private function curlGet($url)
+    {
+        $header[] = "Accept: application/json";
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_POST, 0);//1:post方式 0:get方式
+        curl_setopt($ch, CURLOPT_HEADER, 0);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+        $result = curl_exec($ch);
+        curl_close($ch);
+        return $result;
+    }
 }

+ 3 - 3
app/common/model/Express.php

@@ -117,12 +117,12 @@ class Express extends BaseModel
         return $data;
     }
 
-    public function dynamicUsps(string $uspsUserId, string $expressNo)
+    public function dynamicUsps(string $expressNo)
     {
         // 实例化快递100类
-        $Usps = new Usps($uspsUserId);
+        $Usps = new Usps();
         // 请求查询接口
-        $data['list'] = $Usps->query($expressNo);
+        $data['list'] = $Usps->queryF1($expressNo);
         if ($data['list'] === false) {
             Log::error('有问题');
             return false;

+ 1 - 1
app/index/controller/Order.php

@@ -116,7 +116,7 @@ class Order extends Controller
         if (!$order['express_no']) {
             return $this->renderError('No logistics information');
         }
-        $expressUserId  =config('usps.exp_user_id');
+        $expressUserId  = config('usps.exp_user_id');
         // 获取物流信息
         $model = new ExpressModel();
         $express = $model->dynamicUsps($expressUserId, $order['express_no']);

+ 13 - 1
app/index/controller/User.php

@@ -8,6 +8,7 @@ use app\index\model\OrderAddress;
 use app\index\model\user\PointsLog as PointsLogModel;
 use app\index\model\Goods as GoodsModel;
 use app\index\model\Order as OrderModel;
+use app\store\model\Express as ExpressModel;
 use think\facade\Log;
 use think\facade\Session;
 
@@ -63,8 +64,19 @@ class User extends Controller
         }
         $model = OrderModel::getUserOrderDetail($orderId);
         $orderAddress = OrderAddress::get(['order_id' => $orderId]);
+        $expModel = new ExpressModel();
+        $tracks = $expModel->dynamicUsps($model['express_no']);
+        $selfTrack = [
+            ['date' => date('Y-m-d H:i:s', $model['create_time'] + 3653), 'text' => 'Orders taken', 'desc' => 'The merchant has received your order and is waiting to be shipped'],
+            ['date' => date('Y-m-d H:i:s', $model['create_time'] + 9864), 'text' => 'Orders taken', 'desc' => 'The order has entered the warehouse']
+        ];
+        if (!$tracks) {
+            $f1Track = [];
+        } else {
+            $f1Track = $tracks['list']['trackList'] ?? [];
+        }
 
-        return view('orderDetails', ['order' => $model, 'orderAddress' => $orderAddress]);
+        return view('orderDetails', ['order' => $model, 'orderAddress' => $orderAddress, 'selfTrack' => $selfTrack, 'f1Track' => $f1Track]);
     }
 
     /**

+ 11 - 22
app/index/view/user/orderDetails.html

@@ -170,42 +170,31 @@
                                 <div class="logItem">
                                     <p class="logTime">2024.03.11</p>
                                     <!-- 物流当天信息 -->
+                                    {foreach $f1Track as $track}
                                     <div class="logSunItem">
                                         <p class="dic"></p>
                                         <p class="logSunText">
-                                            <span class="sunTime">2024-03-11 12:24</span>
-                                            <span class="sunStTe">订单已完成</span>
-                                            <span class="sunStTips">自动完成订单,交易关闭</span>
-                                        </p>
-                                    </div>
-                                    <div class="logSunItem">
-                                        <p class="dic"></p>
-                                        <p class="logSunText">
-                                            <span class="sunTime">2024-03-11 12:24</span>
-                                            <span class="sunStTe">订单已完成</span>
-                                            <span class="sunStTips">自动完成订单,交易关闭</span>
+                                            <span class="sunTime">{$track['time']}</span>
+                                            <span class="sunStTips">{$track['desc']}</span>
+                                            <span class="sunStTe">{$track['localtion']}</span>
                                         </p>
                                     </div>
+                                    {/foreach}
                                 </div>
                                 <div class="logItem">
                                     <p class="logTime">2024.03.11</p>
                                     <!-- 物流当天信息 -->
+                                    {foreach $selfTrack as $track}
                                     <div class="logSunItem">
                                         <p class="dic"></p>
                                         <p class="logSunText">
-                                            <span class="sunTime">2024-03-11 12:24</span>
-                                            <span class="sunStTe">订单已完成</span>
-                                            <span class="sunStTips">自动完成订单,交易关闭</span>
-                                        </p>
-                                    </div>
-                                    <div class="logSunItem">
-                                        <p class="dic"></p>
-                                        <p class="logSunText">
-                                            <span class="sunTime">2024-03-11 12:24</span>
-                                            <span class="sunStTe">订单已完成</span>
-                                            <span class="sunStTips">自动完成订单,交易关闭</span>
+                                            <span class="sunTime">{$track['time']}</span>
+                                            <span class="sunStTe">{$track['text']}</span>
+                                            <span class="sunStTips">{$track['desc']}</span>
                                         </p>
                                     </div>
+                                    {/foreach}
+
                                 </div>
                             </div>
                         </div>

+ 6 - 6
app/store/service/order/Export.php

@@ -76,10 +76,10 @@ class Export extends BaseService
         $orderForExcelArr = [];
         foreach ($orderListArr as $item) {
             $orderForExcelArr[] = [
-                '包裹',
+                '专线',
                 'YH1049',
                 $item['order_no'],
-                '收货渠道',
+                '美国专线小包带电',
                 '美国',
                 '1',
                 '500g',
@@ -92,11 +92,11 @@ class Export extends BaseService
                 $item['address']['detail'],
                 '包裹',
                 '其他',
-                '电子',
-                'ele eye',
-                'SEACODE',
+                '电子',
+                'ele watch',
+                '91019100',//todo
                 '1',
-                'dollar',
+                'USD',
                 $item['total_price'],
                 $item['total_price'],
             ];