OrderTrackingOwnerController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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()->where('owner_id',$request->input('owner_id'))->first();
  19. if ($orderTrackingOwner ?? false) {
  20. $success = $orderTrackingOwner->update(['status' => $request->input('status')]);
  21. return ['success' => $success];
  22. }
  23. $data = ['owner_id' => $request->input('owner_id'), 'status' => $request->input('status')];
  24. $success = $orderTrackingOwner = OrderTrackingOwner::query()->create($data) != null;
  25. return ['success' => $success];
  26. }
  27. public function getAllApi()
  28. {
  29. if (!Gate::allows('订单管理-跟踪-监听')) {
  30. return ['success' => false, 'fail_info' => '权限不足'];
  31. }
  32. $owner = Owner::query()->with('orderTrackingOwner')
  33. ->whereIn('id',app("OwnerService")->getQuery())
  34. ->whereHas('orderTrackingOwner',function ($query){$query->where('status','启用');})
  35. ->select('id')
  36. ->get();
  37. return data_get($owner,'*.id');
  38. }
  39. }