TerminalController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. }