ANG YU пре 5 година
родитељ
комит
f08529055d

+ 1 - 1
app/Exceptions/Exception.php

@@ -11,6 +11,6 @@ class Exception extends \Exception
         public function __construct($message = "",$type='error', $code = 0, Throwable $previous = null)
         {
             parent::__construct($message, $code, $previous);
-            $this['type']=$type;
+            $this->type = $type;
         }
 }

+ 7 - 1
app/Http/Controllers/TestController.php

@@ -50,6 +50,7 @@ use App\Services\LogService;
 use App\Services\OracleDocAsnHerderService;
 use App\Services\OracleDOCOrderHeaderService;
 use App\Services\OrderCommodityService;
+use App\Services\OrderPackageReceivedSyncService;
 use App\Services\OrderPackageService;
 use App\Services\OrderService;
 use App\Services\OrderTrackingOwnerService;
@@ -1380,11 +1381,16 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
 
         $orderPackage = OrderPackage::query()->where('logistic_number', 'SF1038343374236')->first();
         $orderPackage->transfer_status = json_decode($orderPackage->transfer_status);
-        dump($orderPackage);
 
         $orderPackageReceivedSyncService->update($response);
         $orderPackage = OrderPackage::query()->where('logistic_number', 'SF1038343374236')->first();
         $orderPackage->transfer_status = json_decode($orderPackage->transfer_status);
         dump($orderPackage);
     }
+
+    public function logistic_route_sync_SF()
+    {
+        $orderPackageReceivedSyncService = new OrderPackageReceivedSyncService();
+        $orderPackageReceivedSyncService->syncLogisticRoute();
+    }
 }

+ 5 - 3
app/Services/LogisticSFService.php

@@ -95,12 +95,14 @@ xml;
         $data['logistic_number'] = $routeResponse['@attributes'][$this->protected_switch['logistic_number']];
         try {
             $lastRoute = get_object_vars($routeResponse['Route'][count($routeResponse['Route']) - 1])['@attributes'];//获取最新的路由信息
+            $data = $this->switchOpCodeToStatus($lastRoute, $data);
+            $data['transfer_status'] = $this->transformRoutes($routeResponse['Route']);
+
         } catch (Exception $e) {
             throw new WarningException("单号没有查询到快递路由信息','LogisticSFService->transformSFOneToArr->{$data['logistic_number']}");
+        } finally {
+            return $data;
         }
-        $data = $this->switchOpCodeToStatus($lastRoute, $data);
-        $data['transfer_status'] = $this->transformRoutes($routeResponse['Route']);
-        return $data;
     }
 
     /**

+ 10 - 1
app/Services/OrderPackageReceivedSyncService.php

@@ -14,6 +14,15 @@ class OrderPackageReceivedSyncService
     protected $logisticSFService;
     protected $logisticZopService;
 
+    /**
+     *同步快递信息
+     * @throws Exception
+     */
+    public function syncLogisticRoute()
+    {
+        $this->update($this->getLogisticRoutes($this->getLogisticNumbers()));
+    }
+
     /**
      * 获取快件揽收信息
      * @param array $request [
@@ -23,7 +32,7 @@ class OrderPackageReceivedSyncService
      * @return array
      * @throws Exception
      */
-    public function get(array $request): array
+    public function getLogisticRoutes(array $request): array
     {
         $this->logisticSFService = new LogisticSFService();
         $this->logisticZopService = new LogisticZopService();