post(); if (empty($param)) return errorTrans("empty.data"); $shopId = $request->uuid; $mode = (new SaasPrintClient); $printIn = []; foreach ($param as $key=>$val) { $param[$key] = $val; $printId = strToUniqueNumberV4(trim($val['name'])); $param[$key]['key'] = "{$printId}-{$shopId}"; $param[$key]['userKey'] = $printId; $printData = $mode->where("code",$printId)->where("shop_id",$shopId)->findOrEmpty(); if ($printData->isEmpty()) { $printIn[$key] = [ "shop_id" => $shopId, "code" => $printId, "name" => $val['name'], "ipaddress" => $val['ipAddress'], "print_status" => $val['status'], ]; } } if (!empty($printIn)) { $mode->insertAll(array_values($printIn)); } return success("ok",$param); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } /** * 打印回传 * @param Request $request * @return Response */ #[Route(path: "status",methods: "post")] public function getPrintData(Request $request): Response { try { $param = $this->_valid([ "data.require" => trans("empty.data"), "param.require" => trans("empty.data"), ],$request->method()); if (!is_array($param)) return error($param); $orderId = $param['param']['jobId']; $order = (new SaasOrderDetail)->where("id",$orderId)->with(['orders'])->findOrEmpty(); $outPut = $param['data']['outputArray']; $logData = []; foreach ($outPut as $key=>$val) { if ($val['type'] == 'stdout') { $logData[$key] = [ "order_sn" => $param['param']['customFileName'], "msg" => delNt($val['data']) ]; } else if ($val['type'] == "exit") { if ($val['code'] == 0) { $order->status = 3; $order->save(); } } } $logData = array_values($logData); if (!empty($logData)) { } return success("ok"); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } }