| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Http\Requests\Printer\TerminalRequest;
- use App\Http\Requests\Request;
- use App\Terminal;
- use Illuminate\Support\Facades\Gate;
- class TerminalController extends Controller
- {
- use AsyncResponse;
- // index 页面
- public function index(TerminalRequest $request)
- {
- if (Gate::denies('基础设置-快递打印-终端'))return redirect("/");
- $terminals = Terminal::query()->orderByDesc('id')->paginate($request['paginate'] ?? 50);
- return view('maintenance.expressPrinting.setting.terminal.index',
- compact('terminals')
- );
- }
- public function storeApi(TerminalRequest $request): array
- {
- if (Gate::denies('基础设置-快递打印-终端-添加'))
- return ['success' => false, 'message' => '没有对应权限'];
- $terminal = Terminal::query()->create($request->all());
- return ['success' => true, 'data' => $terminal];
- }
- public function destroyApi($id): array
- {
- if (Gate::denies('基础设置-快递打印-终端-删除'))
- return ['success' => false, 'message' => '没有对应权限'];
- $terminal = Terminal::query()->find($id);
- if (!$terminal) return ['success' => false , 'message' => '对应的终端不存在'];
- $terminal->delete();
- return ['success' => true];
- }
- public function updateApi(TerminalRequest $request): array
- {
- if (Gate::denies('基础设置-快递打印-终端-编辑'))
- return ['success' => false, 'message' => '没有对应权限'];
- $terminal = Terminal::query()->find($request['id']);
- if (!$terminal) return ['success' => false, 'message' => '对应的终端不存在'];
- $terminal->update($request->all());
- return ['success' => true, 'data' => $terminal];
- }
- public function getTerminalApi($id) :array
- {
- $terminal = Terminal::query()->with('printers')->find($id);
- if (!$terminal)return ['success' => false,'message' => 'was没有记录该ip下的打印机'];
- return ['success' => true,'data' => $terminal];
- }
- public function getTerminalByIPApi(Request $request): array
- {
- $clientIp = $request->getClientIp();
- $terminal = Terminal::query()->with('printers')->where('ip')->first();
- return ['success' => true, 'data' => $terminal];
- }
- }
|