TerminalController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Http\Requests\Printer\TerminalRequest;
  5. use App\Terminal;
  6. use Illuminate\Support\Facades\Gate;
  7. class TerminalController extends Controller
  8. {
  9. use AsyncResponse;
  10. public function index(TerminalRequest $request)
  11. {
  12. if (!Gate::allows('基础设置-快递打印-终端'))return redirect("/");
  13. $terminals = Terminal::query()->orderByDesc('id')->paginate($request['paginate'] ?? 50);
  14. return view('maintenance/expressPrinting/setting/terminal/index',
  15. compact('terminals')
  16. );
  17. }
  18. public function storeApi(TerminalRequest $request): array
  19. {
  20. if (!Gate::allows('基础设置-快递打印-终端-添加'))
  21. return ['success' => false, 'message' => '没有对应权限'];
  22. $terminal = Terminal::query()->create($request->all());
  23. return ['success' => true, 'data' => $terminal];
  24. }
  25. public function destroyApi($id): array
  26. {
  27. if (!Gate::allows('基础设置-快递打印-终端-删除'))
  28. return ['success' => false, 'message' => '没有对应权限'];
  29. $terminal = Terminal::query()->find($id);
  30. if (!$terminal) return ['success' => false , 'message' => '对应的终端不存在'];
  31. $terminal->delete();
  32. return ['success' => true];
  33. }
  34. public function updateApi(TerminalRequest $request): array
  35. {
  36. if (!Gate::allows('基础设置-快递打印-终端-编辑'))
  37. return ['success' => false, 'message' => '没有对应权限'];
  38. $terminal = Terminal::query()->find($request['id']);
  39. if (!$terminal) return ['success' => false, 'message' => '对应的终端不存在'];
  40. $terminal->update($request->all());
  41. return ['success' => true, 'data' => $terminal];
  42. }
  43. public function getTerminalApi($id) :array
  44. {
  45. $terminal = Terminal::query()->with('printers')->find($id);
  46. if (!$terminal)return ['success' => false,'message' => 'was没有记录该ip下的打印机'];
  47. return ['success' => true,'data' => $terminal];
  48. }
  49. }