| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Log;
- use App\Services\DeliveryService;
- use App\Services\PrintService;
- use App\Terminal;
- use App\TerminalPrinter;
- use Illuminate\Http\Request;
- class PrintController extends Controller
- {
- //
- use AsyncResponse;
- public function index()
- {
- return view('maintenance.expressPrinting.print.template');
- }
- public function getPrintDataApi(Request $request): array
- {
- if (!$request->has('printStr')) return ['success' => false, 'message' => '为空'];
- $results = app(DeliveryService::class)->getDelivery($request['printStr']);
- $ip = $request->getClientIp();
- $terminal = Terminal::query()->with('printers')->where('ip', $ip)->first();
- if (!$terminal) return ['success' => false, 'messages' => '当前终端没有注册'];
- $printers = [];
- foreach ($terminal->printers as $printer) {
- $printer_type = $printer['print_type'];
- if (!array_key_exists($printer_type, $printers)) $printers[$printer_type] = [];
- $printers[$printer_type][] = $printer['printer_name'];
- }
- foreach ($results as $key => $result) {
- $component_type = $result['component_type'];
- $type = TerminalPrinter::$PrintType[$component_type];
- $results[$key]['printer_name'] = $printers[$type][0] ?? '';
- }
- return ['success' => true, 'data' => $results];
- }
- public function uploadPrintDataApi(Request $request, DeliveryService $service): array
- {
- if (is_string($request['printData']))
- $request['printData'] = json_decode($request['printData']);
- $item = $service->customProcessing($request['printData']);
- return ['success' => true, 'data' => $item];
- }
- public function updatePrintCountApi(Request $request)
- {
- }
- }
|