Browse Source

获取所有拦截件接口

loustwo 3 years ago
parent
commit
013d76c30b

+ 41 - 1
app/Http/Controllers/api/thirdPart/hengli/OrderIssueController.php

@@ -5,13 +5,16 @@ namespace App\Http\Controllers\api\thirdPart\hengli;
 
 
 use App\Http\Controllers\Controller;
+use App\OrderIssue;
+use App\OrderPackage;
 use App\Services\OrderIssueService;
 use App\Services\WorkOrderService;
+use App\WorkOrder;
 use Illuminate\Http\Request;
 
 class OrderIssueController extends Controller
 {
-    public function checkInterceptPackage(Request $request)
+    public function checkInterceptPackage(Request $request): array
     {
         /** @var WorkOrderService $workOrderService */
         $workOrderService = app(WorkOrderService::class);
@@ -25,4 +28,41 @@ class OrderIssueController extends Controller
         }
         return ['success' => 'true','data'=> false];
     }
+
+    public function interceptExpressCodes(): array
+    {
+        $interceptExpressCodes = [];
+
+        $orderIssueQuery = OrderIssue::query()
+            ->select("order_id")
+            ->where('order_issue_type_id',1)
+            ->where(function ($query) {
+                $query->whereNotIn('order_issues.final_status', ['已解决', '已归档'])
+                    ->orWhereNull('order_issues.final_status');
+            });
+
+        $orderPackages = OrderPackage::query()
+            ->select('logistic_number')
+            ->whereIn('order_id',$orderIssueQuery)
+            ->get();
+
+        foreach ($orderPackages as $orderPackage){
+            $interceptExpressCodes[] = $orderPackage->logistic_number;
+        }
+
+        $workOrderQuery = WorkOrder::query()
+            ->select("order_id")
+            ->where('order_issue_type_id',1)
+            ->where('status','!=',5);
+
+        $orderPackages = OrderPackage::query()
+            ->select('logistic_number')
+            ->whereIn('order_id',$workOrderQuery)
+            ->get();
+
+        foreach ($orderPackages as $orderPackage){
+            $interceptExpressCodes[] = $orderPackage->logistic_number;
+        }
+        return array_values(array_unique($interceptExpressCodes));
+    }
 }

+ 1 - 0
routes/api/thirdPart/hengli.php

@@ -10,4 +10,5 @@ use Illuminate\Support\Facades\Route;
 Route::group(['prefix'=>'weight'],function(){
     Route::ANY('new', "PackageController@new_");        //称重上传
     Route::ANY('checkIntercept','OrderIssueController@checkInterceptPackage');
+    Route::ANY('intercept','OrderIssueController@interceptExpressCodes');
 });