diff --git a/app/Console/Commands/KttOrderSyncStatus.php b/app/Console/Commands/KttOrderSyncStatus.php new file mode 100644 index 0000000..e3f326b --- /dev/null +++ b/app/Console/Commands/KttOrderSyncStatus.php @@ -0,0 +1,62 @@ +subDays(15)->getPreciseTimestamp(3); + $shops = Shop::query()->where('plat_id', Shop::$PLAT_KTT)->where('status', Shop::$STATUS_AUTHORIZED)->get(); + BusinessOrder::query()->where('confirm_at', '>=', $startTime) + ->where('shipping_status',BusinessOrderShippingStatus::UNSHIP) + ->where('cancel_status',0) + ->chunk(200, function ($orders) use ($shops) { + foreach ($orders as $order) { + $shop = $shops->where('id',$order['shop_id'])->first(); + if(!empty($shop)){ + BusinessFactory::init()->make($shop->plat_id)->setShop($shop)->queryStatusAndSync($order); + usleep(10); + } + } + }); + + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 9ce6b35..afe932a 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -8,6 +8,7 @@ use App\Console\Commands\DailySalesReport; use App\Console\Commands\GoodsSkuDailyReport; use App\Console\Commands\Inventory; use App\Console\Commands\KttOrderAfterSaleQuery; +use App\Console\Commands\KttOrderSyncStatus; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; use App\Console\Commands\KttOrderQuery; @@ -57,6 +58,9 @@ class Kernel extends ConsoleKernel //同步售卖信息和报损相关数据 $schedule->command(GoodsSkuDailyReport::class)->dailyAt('03:30'); + //新增快团团订单状态同步 + $schedule->command(KttOrderSyncStatus::class)->everyTenMinutes(); + } /** diff --git a/app/Http/Enum/BusinessOrderShippingStatus.php b/app/Http/Enum/BusinessOrderShippingStatus.php new file mode 100644 index 0000000..9f0f913 --- /dev/null +++ b/app/Http/Enum/BusinessOrderShippingStatus.php @@ -0,0 +1,17 @@ +getShop()->id; diff --git a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php index 1df6e7d..7b08551 100644 --- a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php +++ b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php @@ -175,6 +175,23 @@ class KuaiTuanTuan extends BusinessClient } } + public function queryStatusAndSync($order) + { + [$type, $appendParams] = Order::getOrderInfo($order->order_sn); + $responseName = 'ktt_order_get_response'; + $res = $this->doRequest($type, $appendParams); + if (!isset($res[$responseName]['order_info'])) { + return; + } + + $queryOrder = $res[$responseName]['order_info']; + if ($order->shipping_status != $queryOrder['shipping_status']) { + $order->shipping_status = $queryOrder['shipping_status']; + $order->save(); + } + + } + public function getOrderInfo($orderSn) { [$type, $appendParams] = Order::getOrderInfo($orderSn); diff --git a/app/Services/Business/MiaoXuan/MiaoXuan.php b/app/Services/Business/MiaoXuan/MiaoXuan.php index 6831623..a900d0f 100644 --- a/app/Services/Business/MiaoXuan/MiaoXuan.php +++ b/app/Services/Business/MiaoXuan/MiaoXuan.php @@ -37,6 +37,10 @@ class MiaoXuan extends BusinessClient } + public function queryStatusAndSync($order){ + + } + public function batchIncrQuantity($businessGoodsSkus, $num, $incremental) { $batchAppendParams = [];