OrderTrackingOwnerController.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\OrderTrackingOwner;
  4. use App\Owner;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Support\Facades\Gate;
  8. class OrderTrackingOwnerController extends Controller
  9. {
  10. public function updateStatusApi(Request $request)
  11. {
  12. if (!Gate::allows('订单管理-跟踪-监听')) {
  13. return ['success' => false, 'fail_info' => '权限不足'];
  14. }
  15. if($request->filled('owner_id') || $request->filled('status')){
  16. return ['success' => false, 'fail_info' => '没有传入对应参数'];
  17. }
  18. $orderTrackingOwner = OrderTrackingOwner::query()
  19. ->where(['owner_id' => $request->input('owner_id')])
  20. ->first();
  21. if (!$orderTrackingOwner ?? false) {
  22. $success = $orderTrackingOwner->update(['status' => $request->input('status')]);
  23. return ['success'=>$success] ;
  24. }
  25. $data = ['owner_id' => $request->input('owner_id'), 'status' => $request->input('status')];
  26. $success = $orderTrackingOwner = OrderTrackingOwner::query()->create($data);
  27. return ['success' => $success];
  28. }
  29. public function getAllApi()
  30. {
  31. if (!Gate::allows('订单管理-跟踪-监听')) {
  32. return ['success' => false, 'fail_info' => '权限不足'];
  33. }
  34. $user = Auth::user();
  35. $owner_ids = $user ? $user->getPermittingOwnerIdsAttribute() : [];
  36. return Owner::query()
  37. ->with('orderTrackingOwner')
  38. ->get();
  39. }
  40. }