|
|
@@ -31,7 +31,7 @@ class OrderPackageReceivedSyncService
|
|
|
ini_set('memory_limit', '1024M');
|
|
|
LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法", '');
|
|
|
$query = OrderPackage::query()
|
|
|
- ->select(['logistic_number', 'order_id'])
|
|
|
+ ->select(['logistic_number', 'order_id','id'])
|
|
|
->with(['order' => function ($query) {
|
|
|
return $query->select(['id','logistic_id'])->with('logistic:id,name,code');
|
|
|
}]);
|
|
|
@@ -75,13 +75,13 @@ class OrderPackageReceivedSyncService
|
|
|
}
|
|
|
}
|
|
|
//更新圆通
|
|
|
-// if (array_key_exists('YTO', $logisticNumbers)) {
|
|
|
-// $YTOLogisticNumbers = $logisticNumbers['YTO'];
|
|
|
-// LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-YTO", $YTOLogisticNumbers);
|
|
|
-// foreach ($YTOLogisticNumbers as $logistic_number) {
|
|
|
-// LogisticYTOSync::dispatch($logistic_number);
|
|
|
-// }
|
|
|
-// }
|
|
|
+ if (array_key_exists('YTO', $logisticNumbers)) {
|
|
|
+ $YTOLogisticNumbers = $logisticNumbers['YTO'];
|
|
|
+ LogService::log(OrderPackageReceivedSyncService::class, "同步快递信息定时方法-YTO", json_encode($YTOLogisticNumbers));
|
|
|
+ foreach ($YTOLogisticNumbers as $logistic_number) {
|
|
|
+ if ($logistic_number)LogisticYTOSync::dispatch($logistic_number);
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@@ -89,13 +89,13 @@ class OrderPackageReceivedSyncService
|
|
|
{
|
|
|
ini_set('max_execution_time', 2 * 60 * 60);
|
|
|
$query = OrderPackage::query()
|
|
|
- ->select(['logistic_number', 'order_id'])
|
|
|
+ ->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(20))
|
|
|
+ $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));
|
|
|
@@ -108,13 +108,13 @@ class OrderPackageReceivedSyncService
|
|
|
public function syncLogisticRouteJD(){
|
|
|
ini_set('max_execution_time', 60);
|
|
|
$query = OrderPackage::query()
|
|
|
- ->select(['logistic_number', 'order_id'])
|
|
|
+ ->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(20))
|
|
|
+ $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));
|
|
|
@@ -123,24 +123,6 @@ class OrderPackageReceivedSyncService
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- 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->chunkById(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);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
/**
|
|
|
* 根据传递的承运商与快递单号更新快递信息
|
|
|
* @param array $logisticNumbers 快递单号
|