LD 4 лет назад
Родитель
Сommit
73ef721fbd
1 измененных файлов с 44 добавлено и 67 удалено
  1. 44 67
      app/Services/OrderPackageReceivedSyncService.php

+ 44 - 67
app/Services/OrderPackageReceivedSyncService.php

@@ -25,15 +25,15 @@ class OrderPackageReceivedSyncService
      * 2 如果当前时间小于等于初始化时间,执行初始化脚本,将数据库中全部小于等于初始化时间的数据更新
      * @throws Exception
      */
-    public function syncLogisticRoute($is_to_init = false)
+    public function syncLogisticRoute($is_to_init=false)
     {
         ini_set('max_execution_time', 2 * 60 * 60);
         ini_set('memory_limit', '1024M');
         LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法", '');
         $query = OrderPackage::query()
-            ->select(['logistic_number', 'order_id', 'id'])
+            ->select(['logistic_number', 'order_id','id'])
             ->with(['order' => function ($query) {
-                return $query->select(['id', 'logistic_id'])->with('logistic:id,name,code');
+                return $query->select(['id','logistic_id'])->with('logistic:id,name,code');
             }]);
         if ($is_to_init) {//当前时间小于等于初始化时间
             $initDate = Carbon::parse(config('api_logistic.init_date'));
@@ -45,7 +45,7 @@ class OrderPackageReceivedSyncService
                 ->whereNull('received_at');
         }
         $query->chunkById(1000, function ($orderPackages) {
-            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法", json_encode(data_get($orderPackages, '*.logistic_number')));
+            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法", json_encode(data_get($orderPackages,'*.logistic_number')));
             $logisticNumbers = $this->buildData($orderPackages);
             //sf
             if (array_key_exists('SF', $logisticNumbers)) {
@@ -85,68 +85,45 @@ class OrderPackageReceivedSyncService
         });
     }
 
-    public function syncLogisticRouteByAliJiSu()
-    {
-        ini_set('max_execution_time', 2 * 60 * 60);
-        $query = OrderPackage::query()
-            ->select(['logistic_number', 'order_id'])
-            ->whereIn('order_id', function ($query) {
-                $query->from('orders')->selectRaw('id')->whereIn('logistic_id', function ($builder) {
-                    $builder->from('logistics')->selectRaw('id')->where('type', '!=', '物流')->whereNotIn('belong_company', ['顺丰', '中通', '韵达', '圆通', '京东']);
-                });
-            });
-        $query = $query->where('sent_at', '>=', now()->subDays(config('api_logistic.querying_days')))
-            ->whereNull('received_at');
-
-        $query->chunkById(200, function ($orderPackages) {
-            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-阿里公用接口", json_encode($orderPackages));
-            foreach ($orderPackages as $orderPackage) {
-                if ($orderPackage && $orderPackage->logistic_number) LogisticAliJiSuSync::dispatch($orderPackage->logistic_number);
-            }
-        });
-        $this->syncLogisticRouteJD();
-    }
-
-    public function syncLogisticRouteJD()
-    {
-        ini_set('max_execution_time', 60);
-        $query = OrderPackage::query()
-            ->select(['logistic_number', 'order_id'])
-            ->whereIn('order_id', function ($query) {
-                $query->from('orders')->selectRaw('id')->whereIn('logistic_id', function ($builder) {
-                    $builder->from('logistics')->selectRaw('id')->where('type', '!=', '物流')->where('belong_company', '京东');
-                });
-            });
-        $query = $query->where('created_at', '>=', now()->subDays(20))
-            ->whereNull('received_at')->where('logistic_number', 'like', 'JD%');
-        $query->chunk(200, function ($orderPackages) {
-            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-JD", json_encode($orderPackages));
-            foreach ($orderPackages as $orderPackage) {
-                if ($orderPackage && $orderPackage->logistic_number) LogisticAliJiSuSync::dispatch($orderPackage->logistic_number);
-            }
-        });
-    }
-
-    public function syncLogisticRouteYTO()
-    {
-        ini_set('max_execution_time', 120);
-        $query = OrderPackage::query()
-            ->select(['logistic_number', 'order_id'])
-            ->whereIn('order_id', function ($query) {
-                $query->from('orders')->selectRaw('id')->whereIn('logistic_id', function ($builder) {
-                    $builder->from('logistics')->selectRaw('id')->where('type', '!=', '物流')->where('belong_company', '圆通');
-                });
-            });
-        $query = $query->where('sent_at', '>=', now()->subDays(20))
-            ->whereNull('received_at');
-        $query->chunk(1000, function ($orderPackages) {
-            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-YTO", json_encode($orderPackages));
-            foreach ($orderPackages as $orderPackage) {
-                if ($orderPackage && $orderPackage->logistic_number) LogisticYTOSync::dispatch($orderPackage->logistic_number);
-            }
-        });
-    }
-
+//    public function syncLogisticRouteByAliJiSu()
+//    {
+//        ini_set('max_execution_time', 2 * 60 * 60);
+//        $query = OrderPackage::query()
+//            ->select(['logistic_number', 'order_id','id'])
+//            ->whereIn('order_id',function ($query){
+//                $query->from('orders')->selectRaw('id')->whereIn('logistic_id',function ($builder){
+//                    $builder->from('logistics')->selectRaw('id')->where('type','!=','物流')->whereNotIn('belong_company',['顺丰','中通','韵达','圆通','京东']);
+//                });
+//            });
+//        $query = $query->where('sent_at', '>=', now()->subDays(config('api_logistic.querying_days')))
+//            ->whereNull('received_at');
+//
+//        $query->chunkById(200, function ($orderPackages) {
+//            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-阿里公用接口", json_encode($orderPackages));
+//            foreach ($orderPackages as $orderPackage){
+//                if ($orderPackage && $orderPackage->logistic_number)LogisticAliJiSuSync::dispatch($orderPackage->logistic_number);
+//            }
+//        });
+//        $this->syncLogisticRouteJD();
+//    }
+//    public function syncLogisticRouteJD(){
+//        ini_set('max_execution_time', 60);
+//        $query = OrderPackage::query()
+//            ->select(['logistic_number', 'order_id','id'])
+//            ->whereIn('order_id',function ($query){
+//                $query->from('orders')->selectRaw('id')->whereIn('logistic_id',function ($builder){
+//                    $builder->from('logistics')->selectRaw('id')->where('type','!=','物流')->where('belong_company','京东');
+//                });
+//            });
+//        $query = $query->where('created_at', '>=', now()->subDays(config('api_logistic.querying_days')))
+//            ->whereNull('received_at')->where('logistic_number','like','JD%');
+//        $query->chunkById(200, function ($orderPackages) {
+//            LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-JD", json_encode($orderPackages));
+//            foreach ($orderPackages as $orderPackage){
+//                if ($orderPackage && $orderPackage->logistic_number)LogisticAliJiSuSync::dispatch($orderPackage->logistic_number);
+//            }
+//        });
+//    }
     /**
      * 根据传递的承运商与快递单号更新快递信息
      * @param array $logisticNumbers 快递单号
@@ -237,7 +214,7 @@ class OrderPackageReceivedSyncService
             try {
                 $logisticCode = $orderPackage->order->logistic->code;
             } catch (Exception $e) {
-                LogService::log(OrderPackageReceivedSyncService::class, "快递同步按照承运商分组异常", json_encode($orderPackage ?? []));
+                LogService::log(OrderPackageReceivedSyncService::class, "快递同步按照承运商分组异常", json_encode($orderPackage??[]));
                 continue;
             }
             $key = config('api_logistic.logistic.' . $logisticCode);