瀏覽代碼

工单->取消拦截->承运商批量处理

loustwo 4 年之前
父節點
當前提交
9504f918e1

+ 29 - 0
app/Http/Controllers/WorkOrderCancelInterceptController.php

@@ -53,6 +53,11 @@ class WorkOrderCancelInterceptController extends Controller
         return ['success' => true];
     }
 
+    /**
+     * 承运商处理
+     * @param Request $request
+     * @return array
+     */
     public function logisticHandlerApi(Request $request): array
     {
         if (Gate::denies('订单管理-工单处理-承运商编辑'))
@@ -65,6 +70,30 @@ class WorkOrderCancelInterceptController extends Controller
         return ['success' => true,'data' => $workOrder];
     }
 
+    /**
+     * 承运商批量处理
+     * @param Request $request
+     * @return array
+     */
+    public function logisticBatchHandlerApi(Request $request): array
+    {
+        if (Gate::denies('订单管理-工单处理-承运商编辑'))
+            return ['success' => false, 'message' => '没有对应权限'];
+        $detail_ids = $request->input('detail_ids',[]);
+
+        if (count($detail_ids) == 0)
+            return ['success' => false,'message' => '参数异常'];
+
+        $details = WorkOrderDetail::query()->find($detail_ids);
+
+        if (count($details) ==0 || count($details) < count($detail_ids))
+            return ['success' => false,'message' => '参数异常'];
+
+        $this->service->logisticBatchHandler($details,$request->all());
+        $data = $this->service->getDefaultWith($detail_ids);
+        return ['success' => true,$data => $data];
+    }
+
     public function baoShiReviewApi(Request $request): array
     {
         if (Gate::denies('订单管理-工单处理-宝时编辑'))

+ 12 - 0
app/Services/WorkOrderCancelInterceptService.php

@@ -81,6 +81,18 @@ class WorkOrderCancelInterceptService extends WorkOrderService
         $this->logService->createLog($detail, '处理', '承运商处理');
     }
 
+    /**
+     * 承运商批量处理
+     * @param $details
+     * @param $params
+     */
+    public function logisticBatchHandler($details,$params)
+    {
+        foreach ($details as $detail){
+            $this->logisticHandle($detail,$params);
+        }
+    }
+
     /**
      * 宝时终审
      * @param WorkOrderDetail $detail

+ 24 - 23
routes/apiLocal.php

@@ -289,31 +289,32 @@ Route::group(['prefix' => 'print'],function (){
 });
 
 Route::prefix('workOrder')->group(function(){
-    Route::post('end','WorkOrderController@ownerEndWorkOrderApi')->name('workOrder.owner.endApi');                      // 承运商完结工单
-    Route::post('batchEnd','WorkOrderController@ownerBatchEndWorkOrderApi')->name('workOrder.owner.batchEndApi');      // 承运商处理标记
-    Route::post('logisticTag','WorkOrderController@logisticHandlerTagApi')->name('workOrder.logistic.handlerTagApi');      // 承运商处理标记
+    Route::post('end','WorkOrderController@ownerEndWorkOrderApi')->name('workOrder.owner.endApi');                              // 承运商完结工单
+    Route::post('batchEnd','WorkOrderController@ownerBatchEndWorkOrderApi')->name('workOrder.owner.batchEndApi');               // 承运商处理标记
+    Route::post('logisticTag','WorkOrderController@logisticHandlerTagApi')->name('workOrder.logistic.handlerTagApi');           // 承运商处理标记
     Route::prefix('intercept')->group(function(){           // 拦截
-        Route::post('store','WorkOrderInterceptController@storeApi')->name('workOrder.intercept.storeApi');                                     // 拦截订单创建
-        Route::post('store/batch','WorkOrderInterceptController@batchStoreApi')->name('workOrder.intercept.BatchStoreApi');                                     // 拦截订单创建
+        Route::post('store','WorkOrderInterceptController@storeApi')->name('workOrder.intercept.storeApi');                                       // 拦截订单创建
+        Route::post('store/batch','WorkOrderInterceptController@batchStoreApi')->name('workOrder.intercept.BatchStoreApi');                       // 拦截订单创建
         Route::post('logistic/header','WorkOrderInterceptController@logisticHandlerApi')->name('workOrder.intercept.logistic.handlerApi');        // 承运商处理
         Route::post('logistic/batchHeader','WorkOrderInterceptController@logisticBatchHandlerApi')->name('workOrder.intercept.logistic.batchHandlerApi');        // 承运商批量处理
-        Route::post('baoShi/review','WorkOrderInterceptController@baoShiReviewApi')->name('workOrder.intercept.baoShi.reviewApi');              // 宝时终审
-        Route::post('baoShi/batchReview','WorkOrderInterceptController@baoShiBatchReviewApi')->name('workOrder.intercept.baoShi.batchReviewApi');              // 宝时终审
+        Route::post('baoShi/review','WorkOrderInterceptController@baoShiReviewApi')->name('workOrder.intercept.baoShi.reviewApi');                // 宝时终审
+        Route::post('baoShi/batchReview','WorkOrderInterceptController@baoShiBatchReviewApi')->name('workOrder.intercept.baoShi.batchReviewApi'); // 宝时批量终审
 
     });
-    Route::prefix('cancelIntercept')->group(function(){           // 取消拦截
+    Route::prefix('cancelIntercept')->group(function(){     // 取消拦截
         Route::post('store','WorkOrderCancelInterceptController@storeApi')->name('workOrder.cancelIntercept.storeApi');                                     // 拦截订单创建
         Route::post('store/batch','WorkOrderCancelInterceptController@batchStoreApi')->name('workOrder.cancelIntercept.BatchStoreApi');                                     // 拦截订单创建
         Route::post('logistic/header','WorkOrderCancelInterceptController@logisticHandlerApi')->name('workOrder.cancelIntercept.logistic.handlerApi');        // 承运商处理
+        Route::post('logistic/batchHeader','WorkOrderCancelInterceptController@logisticBatchHandlerApi')->name('workOrder.cancelIntercept.logistic.batchHandlerApi');        // 承运商批量处理
         Route::post('baoShi/review','WorkOrderCancelInterceptController@baoShiReviewApi')->name('workOrder.cancelIntercept.baoShi.reviewApi');              // 宝时终审
     });
     Route::prefix('informationChange')->group(function(){   // 信息修改
-        Route::post('store','WorkOrderInformationChangeController@storeApi')->name('workOrder.informationChange.storeApi');                         // 创建
-        Route::post('owner/edit','WorkOrderInformationChangeController@ownerEditApi')->name('workOrder.informationChange.owner.editApi');     // 信息修改
+        Route::post('store','WorkOrderInformationChangeController@storeApi')->name('workOrder.informationChange.storeApi');                   // 创建
+        Route::post('owner/edit','WorkOrderInformationChangeController@ownerEditApi')->name('workOrder.informationChange.owner.editApi');     // 商家修改信息
         Route::post('logistic/header','WorkOrderInformationChangeController@logisticHandlerApi')->name('workOrder.informationChange.logistic.handlerApi');     // 信息修改
         Route::post('logistic/batchHeader','WorkOrderInformationChangeController@logisticBatchHandlerApi')->name('workOrder.informationChange.logistic.batchHandlerApi');     // 信息修改
-        Route::post('baoShi/review','WorkOrderInformationChangeController@baoShiReviewApi')->name('workOrder.informationChange.baoShi.reviewApi');              // 宝时终审
-        Route::post('baoShi/batchReview','WorkOrderInformationChangeController@baoShiBatchReviewApi')->name('workOrder.informationChange.baoShi.batchReviewApi');              // 宝时终审
+        Route::post('baoShi/review','WorkOrderInformationChangeController@baoShiReviewApi')->name('workOrder.informationChange.baoShi.reviewApi');                 // 宝时终审
+        Route::post('baoShi/batchReview','WorkOrderInformationChangeController@baoShiBatchReviewApi')->name('workOrder.informationChange.baoShi.batchReviewApi');  // 宝时批量终审
     });
     Route::prefix('loss')->group(function(){                // 快递丢件
         Route::post('store','WorkOrderLossController@storeApi')->name('workOrder.loss.storeApi');                                       // 创建(宝时)
@@ -322,35 +323,35 @@ Route::prefix('workOrder')->group(function(){
     });
     Route::prefix('damage')->group(function(){             // 破损
         Route::post('store','WorkOrderDamageController@storeApi')->name('workOrder.damage.storeApi');                                   // 创建
-        Route::post('edit/owner','WorkOrderDamageController@ownerEditApi')->name('workOrder.damage.owner.editApi');                      // 货主编辑
-        Route::post('handler/logistic','WorkOrderDamageController@logisticHandleApi')->name('workOrder.damage.logistic.handlerApi');      // 承运商处理
-        Route::post('review/baoShi','WorkOrderDamageController@baoShiReviewApi')->name('workOrder.damage.baoShi.reviewApi');             // 宝时终审
+        Route::post('edit/owner','WorkOrderDamageController@ownerEditApi')->name('workOrder.damage.owner.editApi');                     // 货主编辑
+        Route::post('handler/logistic','WorkOrderDamageController@logisticHandleApi')->name('workOrder.damage.logistic.handlerApi');    // 承运商处理
+        Route::post('review/baoShi','WorkOrderDamageController@baoShiReviewApi')->name('workOrder.damage.baoShi.reviewApi');            // 宝时终审
     });
     Route::prefix('expressAbnormal')->group(function(){     // 快递异常
-        Route::post('store','WorkOrderExpressAbnormalController@storeApi')->name('workOrder.expressAbnormal.storeApi');                         // 创建
-        Route::post('edit/owner','WorkOrderExpressAbnormalController@ownerEditApi')->name('workOrder.expressAbnormal.owner.editApi');   // 承运商处理
-        Route::post('handler/logistic','WorkOrderExpressAbnormalController@logisticHandleApi')->name('workOrder.expressAbnormal.logistic.handlerApi');   // 承运商处理
-        Route::post('review/baoShi','WorkOrderExpressAbnormalController@baoShiReviewApi')->name('workOrder.expressAbnormal.baoShi.reviewApi');                    // 宝时终审
+        Route::post('store','WorkOrderExpressAbnormalController@storeApi')->name('workOrder.expressAbnormal.storeApi');                                 // 创建
+        Route::post('edit/owner','WorkOrderExpressAbnormalController@ownerEditApi')->name('workOrder.expressAbnormal.owner.editApi');                   // 承运商处理
+        Route::post('handler/logistic','WorkOrderExpressAbnormalController@logisticHandleApi')->name('workOrder.expressAbnormal.logistic.handlerApi');  // 承运商处理
+        Route::post('review/baoShi','WorkOrderExpressAbnormalController@baoShiReviewApi')->name('workOrder.expressAbnormal.baoShi.reviewApi');          // 宝时终审
     });
     Route::prefix('mistake')->group(function(){             // 错漏发
         Route::post('store','WorkOrderMistakeController@storeApi')->name('workOrder.mistake.storeApi');
         Route::post('owner/edit','WorkOrderMistakeController@ownerEditApi')->name('workOrder.mistake.owner.editApi');
         Route::post('handle/baoShi','WorkOrderMistakeController@baoShiHandleApi')->name('workOrder.mistake.baoShi.handleApi');                  // 宝时处理
         Route::post('owner/handler','WorkOrderMistakeController@ownerHandleApi')->name('workOrder.mistake.owner.handlerApi');                   // 商家处理并完结订单
-            Route::post('edit/owner/end','WorkOrderMistakeController@ownerEndEditApi')->name('workOrder.mistake.logistic.end.handlerApi');            // 承运商处理
+        Route::post('edit/owner/end','WorkOrderMistakeController@ownerEndEditApi')->name('workOrder.mistake.logistic.end.handlerApi');          // 承运商处理
         Route::post('review/baoShi','WorkOrderMistakeController@baoShiReviewApi')->name('workOrder.mistake.baoShi.reviewApi');                  // 宝时处理
 
     });
 
 
-    Route::post('updateIssueType','WorkOrderController@updateIssueTypeApi')->name('workOrder.updateIssueTypeApi');          // 修改问题类型
+    Route::post('updateIssueType','WorkOrderController@updateIssueTypeApi')->name('workOrder.updateIssueTypeApi');                // 修改问题类型
     Route::post('batchUpdateIssueType','WorkOrderController@batchUpdateIssueTypeApi')->name('workOrder.batchUpdateIssueTypeApi'); // 修改问题类型
     Route::post('buildOrderIssue','WorkOrderController@buildOrderIssueApi')->name('workOrder.buildOrderIssueApi');          // 生成问题件
     Route::delete('/{id}','WorkOrderController@destroyApi')->name('workOrder.destroyApi');                                  // 工单删除
     Route::post('check','WorkOrderController@checkWorkOrderApi')->name('workOrder.checkApi');                               // 检查订单是否存在工单
     Route::prefix('commodity')->group(function(){
-        Route::post("/owner","WorkOrderCommoditiesController@ownerUpdateCommoditiesApi")->name("workOrder.commodity.ownerUpdateApi");                  // 货主填充商品信息
-        Route::post("/logistic","WorkOrderCommoditiesController@logisticUpdateCommoditiesApi")->name("workOrder.commodity.logisticUpdateApi");         // 承运商 更新商品 处理信息
+        Route::post("/owner","WorkOrderCommoditiesController@ownerUpdateCommoditiesApi")->name("workOrder.commodity.ownerUpdateApi");          // 货主填充商品信息
+        Route::post("/logistic","WorkOrderCommoditiesController@logisticUpdateCommoditiesApi")->name("workOrder.commodity.logisticUpdateApi"); // 承运商 更新商品 处理信息
         Route::post("/baoShi","WorkOrderCommoditiesController@baoShiUpdateCommoditiesApi")->name("workOrder.commodity.baoShiUpdateApi");       // 宝时客服 更新丢件信息
     });
 });