TerminalPrinterController.php 2.2 KB

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