Browse Source

快递管理-权限筛选

ANG YU 5 years ago
parent
commit
3f34f7aca1

+ 1 - 0
app/Filters/OrderPackageFilters.php

@@ -4,6 +4,7 @@
 namespace App\Filters;
 
 use App\Order;
+use App\Services\UserService;
 use Illuminate\Http\Request;
 use phpDocumentor\Reflection\Types\Boolean;
 

+ 1 - 0
app/Http/Controllers/LogisticController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers;
 
 use App\Logistic;
+use App\Services\UserService;
 use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;

+ 9 - 2
app/Http/Controllers/PackageLogisticController.php

@@ -6,6 +6,7 @@ use App\Filters\OrderPackageFilters;
 use App\Logistic;
 use App\OrderPackage;
 use App\Owner;
+use App\Services\UserService;
 use Illuminate\Http\Request;
 
 class PackageLogisticController extends Controller
@@ -23,12 +24,18 @@ class PackageLogisticController extends Controller
 
     public function index(Request $request,OrderPackageFilters $filters)
     {
+        /** @var UserService $userService */
+        $userService = app('UserService');
+        $owner_ids = $userService->getPermittingOwnerIds(auth()->user());
         $paginateParams = $request->input();
-        $orderPackages = OrderPackage::query()->filter($filters)->with(['order' => function ($query) {
+        $orderPackages = OrderPackage::query()->filter($filters)
+            ->whereIn('order_id',function ($query)use ($owner_ids){
+                $query->from('orders')->select('id')->whereIn('owner_id',$owner_ids);
+            })->with(['order' => function ($query) {
             $query->with(['logistic', 'owner', 'packages.commodities']);
         }])->orderByDesc('id')->paginate($request->paginate ?? 50);
         $logistics = Logistic::all();
-        $owners = Owner::all();
+        $owners = Owner::find($owner_ids);
         return view('package.logistic.index', compact('orderPackages', 'logistics', 'owners','paginateParams'));
     }
 }