From 7a34b6f89b44557d27681cae2c967de3023cd1f9 Mon Sep 17 00:00:00 2001 From: ASUS <515617283@qq.com> Date: Mon, 29 Dec 2025 11:06:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E9=93=B6=E6=9C=BA=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=9B=9E=E6=89=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/workermans/model/Cashier.php | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/extend/workermans/model/Cashier.php b/extend/workermans/model/Cashier.php index 2fad833..47263b8 100644 --- a/extend/workermans/model/Cashier.php +++ b/extend/workermans/model/Cashier.php @@ -401,6 +401,53 @@ class Cashier extends Base Log::info('修改购物车时[error]->>>>>' . $e->getMessage()); } break; + case 'order_print_status': + // 订单打印状态 收银机 + // 打印成功 + if(!empty($message['print_status']) && $message['print_status'] == 1 && $message['order_id'] && $message['print_id']) { + $order = Db::name('tb_order_info')->where(['id' => $message['order_id']])->find(); + $print = Db::name('tb_print_machine')->where(['id' => $message['print_id'], 'shop_id' => $message['shop_id']])->find(); + if($order && $print) { + $is_insert = true; + $insert_arr = [ + 'id' => $message['print_id'], + 'name' => $print['name'], + 'time' => date('Y-m-d H:i:s'), + ]; + if(!empty($order['print_status'])) { + $print_status_arr = json_decode($order['print_status'], true); + foreach ($print_status_arr as $k => $v) { + if($v['id'] == $message['print_id']) { + // 已经记录过,无需在插入 + $is_insert = false; + } + } + $insert_print_status_arr = array_merge($print_status_arr, [$insert_arr]); + }else { + $insert_print_status_arr = [ + $insert_arr + ]; + } + if($is_insert) { + Db::name('tb_order_info')->where(['id' => $message['order_id'], 'shop_id' => $message['shop_id']])->update(['print_status' => json_encode($insert_print_status_arr, JSON_UNESCAPED_UNICODE)]); + } + $rand = 'cashier_print_status' . Random::build(); + $snd_data = [ + 'msg' => '订单打印通知回执', + 'type' => 'cashier', + 'status' => 1, + 'operate_type' => 'order_print_status', + 'data_type' => '', + 'msg_id' => $rand, + 'data' => [] + ]; + self::gateway_query('sendToClient', [$client_id, json_encode($snd_data)]); + }else { + Gateway::sendToClient($client_id, json_encode(['msg' => '订单或者打印机不存在'])); + return; + } + } + break; } } } \ No newline at end of file