收银机订单打印回执

This commit is contained in:
2025-12-29 11:06:55 +08:00
parent f18ec16efe
commit 7a34b6f89b

View File

@@ -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;
}
}
}