Forráskód Böngészése

为祯仓推送波次任务

haozi 4 éve
szülő
commit
ae153c9c23

+ 3 - 0
app/Console/Commands/SyncBatchTask.php

@@ -3,6 +3,7 @@
 namespace App\Console\Commands;
 
 use App\Jobs\BatchTaskJob;
+use App\Jobs\BroadcastBatchToZhengCangJob;
 use App\Order;
 use App\OrderBin;
 use App\Services\BatchService;
@@ -246,6 +247,7 @@ sql;
             app("BatchService")->checkBatchOrderInfo($updatingBatches);
             LogService::log(__METHOD__,"波次注册一入口",json_encode($updatingBatches));
             BatchTaskJob::dispatch($updatingBatches);    //在这里为波次注册队列任务!
+            BroadcastBatchToZhengCangJob::dispatch($updatingBatches);    //在这里为波次注册祯仓推送任务!
         }
         if ($map){
             $waveCodes = array_keys($map);
@@ -273,6 +275,7 @@ sql;
                 app("BatchService")->checkBatchOrderInfo($batches);
                 LogService::log(__METHOD__,"波次注册二入口",json_encode($batches));
                 BatchTaskJob::dispatch($batches);    //在这里为波次注册队列任务!
+                BroadcastBatchToZhengCangJob::dispatch($batches);    //在这里为波次注册祯仓推送任务!
             }
         }
         ValueStore::query()->where("name","wave_detail_last_sync_date")->update(["value"=>$details[count($details)-1]->edittime]);

+ 16 - 6
app/Jobs/BroadcastBatchToZhengCangJob.php

@@ -3,7 +3,10 @@
 namespace App\Jobs;
 
 use App\Batch;
+use App\Exceptions\ErrorException;
+use App\Log;
 use App\Services\ForeignZhenCangService;
+use App\Services\LogService;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Foundation\Bus\Dispatchable;
@@ -35,12 +38,19 @@ class BroadcastBatchToZhengCangJob implements ShouldQueue
     {
         /** @var ForeignZhenCangService  $foreignZhenCangService */
         $foreignZhenCangService=app('ForeignZhenCangService');
-        //TODO 限定指定货主波次
-        foreach ($this->batches as &$batch){
-            $batch->loadMissing([
-                'orders.orderCommodities.commodity.barcodes'
-            ]);
-            $foreignZhenCangService->broadcastBatch($batch);
+        if(!$this->batches){throw new ErrorException('波次任务中波次不存在!');}
+        $batchCollect=collect($this->batches);
+        //暂时直接指定 375 妍柯货主
+        $batches=Batch::query()->where('owner_id',375)->whereIn('id',data_get($batchCollect,'*.id'))->get();
+        try {
+            foreach ($batches as &$batch) {
+                $batch->loadMissing([
+                    'orders.orderCommodities.commodity.barcodes'
+                ]);
+                $foreignZhenCangService->broadcastBatch($batch);
+            }
+        } catch (\Exception $e) {
+            LogService::log(__METHOD__,'BroadcastBatchToZhengCangJob','波次任务推送祯仓失败'.json_encode($e->getMessage()));
         }
     }
 }

+ 0 - 1
app/Services/ForeignZhenCangService.php

@@ -38,7 +38,6 @@ class ForeignZhenCangService
             }
         }
         $body['slots']=array_values($result);
-        dd($body);
         $response = Http::post('http://zc-it.cn/api/createBatch',$body);
     }
 }