收银机订单打印回执
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user