Browse Source

创建问题件 唯一约束报错捕捉

ajun 4 years ago
parent
commit
8bb8da5fb4
1 changed files with 12 additions and 8 deletions
  1. 12 8
      app/Http/Controllers/WorkOrderController.php

+ 12 - 8
app/Http/Controllers/WorkOrderController.php

@@ -56,14 +56,18 @@ class WorkOrderController extends Controller
         if (OrderIssue::query()->whereIn('order_id',$work_orders->map(function($item){return $item['order_id'];}))->exists()){
             return ['success' => false, 'message' => '已有对应的问题件'];
         }
-        $result = $service->buildOrderIssue($work_orders);
-        if (!$result['success']) return $result;
-        $workOrders = WorkOrder::query()->with(['type', 'creator', 'order' => function ($query) {
-            /** @var $query Builder */
-            $query->with('packages', 'issue', 'logistic');
-        }, 'reviewer','issueType'])->whereIn(  'id',$request['ids'])->get();
-        $service->tags($workOrders);
-        return ['success' => true ,'data' => $workOrders];
+        try {
+            $result = $service->buildOrderIssue($work_orders);
+            if (!$result['success']) return $result;
+            $workOrders = WorkOrder::query()->with(['type', 'creator', 'order' => function ($query) {
+                /** @var $query Builder */
+                $query->with('packages', 'issue', 'logistic');
+            }, 'reviewer', 'issueType'])->whereIn('id', $request['ids'])->get();
+            $service->tags($workOrders);
+            return ['success' => true, 'data' => $workOrders];
+        } catch (\Exception $e) {
+            return  ['success' => true, 'message' => '创建问题件失败,检查对应问题件是否存在,刷新重试'];
+        }
     }
 
     // 创建工单 api