getKey(); $result = $this->doPrint($oid); if ($result){ return $this->response()->success('操作成功'); }else{ return $this->response()->success('打印失败'); } } /** * 设置要POST到接口的数据 * * @return array */ public function parameters() { } public function doPrint($oid) { $row = ImsCjdcOrderMain::find($oid); //>>1.获取打印机状态 $result = $this->getPrintStatus($row->market_id); //>>2.调用打印 if ($result == 1) { $res = $this->rpcPrint($oid); $res = json_decode($res, true)['result']; $res = json_decode($res); //>>3.记录打印次数 if ($res->msg == 'ok' && $res->ret == 0) { //记录打印次数 $row->print_num +=1; return $row->save(); } else { return false; } } } /** * @param $oid //主订单ID * @return int */ public function getPrintStatus($mid) { $fe = Feprint::where('market_id', $mid)->first(); if ($fe) { return $fe->status; } else { return -1; } } public function rpcPrint($oid) { $client = Client::factory(env('RPC_SITE_HOST')); $request = $client->request(uniqid(), '/feie/doPrint', ['oid' => $oid]); $response = $client->send($request); return $response->getBody()->getContents(); } public function feiErPrint($order_num) { include_once app_path('Libs\feier_print\api_php_demo.php'); $result = json_decode(FeiePrint($order_num)); dd($result); } }