From fa2c4827e42f2bd2429c5241ac6274c4ecf110af Mon Sep 17 00:00:00 2001 From: ASUS <515617283@qq.com> Date: Tue, 14 Apr 2026 11:41:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=81=E5=BA=93=E5=AD=98=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/webman/gateway/Events.php | 190 +++++++++++++++---------------- 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/plugin/webman/gateway/Events.php b/plugin/webman/gateway/Events.php index cff2fed..1de80d0 100644 --- a/plugin/webman/gateway/Events.php +++ b/plugin/webman/gateway/Events.php @@ -270,104 +270,104 @@ class Events $gate_way::sendToClient($client_id, json_encode($snd_data)); return; } - $number = $message['number']; - try { +// $number = $message['number']; +// try { // Redis::select(3); - $red_number = Redis::get('shop:' . $message['shop_id'] . ':product-stock:' . $message['product_id']); - }catch (\Exception $e) { +// $red_number = Redis::get('shop:' . $message['shop_id'] . ':product-stock:' . $message['product_id']); +// }catch (\Exception $e) { // print_r( "Redis 错误: " . $e->getMessage() . "\r\n"); - } +// } // print_r('库存数量-->' . $red_number . "\r\n" . date('Y-m-d H:i:s')); - if(is_numeric($red_number)) { - // 起售数量和库存之间的处理 - if(!empty($message['suitNum']) && $message['suitNum'] > 1) { - if($red_number < $message['suitNum']) { - $snd_data = [ - 'msg' => '此商品库存不足起售数量', - 'operate_type' => $message['operate_type'], - 'msg_id' => 'no_suit_num' . Random::build(), - 'type' => 'no_suit_num', - 'data_type' => 'cart', - 'id' => $message['id'], - 'product_id' => $message['product_id'], - 'status' => 0, - 'data' => [] - ]; -// print_r('此商品库存不足起售数量' . "\r\n" . date('Y-m-d H:i:s')); - $gate_way::sendToClient($client_id, json_encode($snd_data)); - return; - } - } - $data = []; - // 如果是编辑,拿到已有数量 - if($message['operate_type'] == 'edit' && !empty($message['id'])) { - $data = Db::query(" - SELECT * FROM `tb_cashier_cart` WHERE - `id`={$message['id']}"); - if($data) { - // 如果编辑数量 小于已有数量并且大于库存数量 直接改成库存数量 - if($number < $data[0]['number'] && $number > $red_number) { - $number = $red_number; - $message['number'] = $red_number; - } - if($number < $data[0]['number'] && $red_number == 0) { - $number = 0; - $message['number'] = 0; - } - } - } - $d_data = false; - // 如果是套餐商品, 拿到商品总数量 - if(!empty($message['goods_type']) && $message['goods_type'] == 'package') { - if($product) { - if($product[0]['group_type'] == 1) { - $d_data = true; - } - } - } - if($product) { - if($product[0]['type'] == 'sku') { - if($data) { - if($message['number'] > $data[0]['number']) { - $d_data = true; - } - } - if(!empty($message['operate_type']) && $message['operate_type'] == 'add') { - $d_data = true; - } - } - } - if($d_data) { - $data_number = Db::query(" - SELECT SUM(number) number FROM `tb_cashier_cart` WHERE - `shop_id`={$message['shop_id']} AND - `product_id`={$message['product_id']} AND - `table_code`='{$message['table_code']}' - "); - if($data_number) { -// print_r('已有数量' . $data_number[0]['number'] . "\r\n" . date('Y-m-d H:i:s')); - $number += $data_number[0]['number']; - if($data && $number > $data[0]['number']) { - $number -= $data[0]['number']; - } - } - } -// print_r('实际数量' . $number . "\r\n" . date('Y-m-d H:i:s')); - if($red_number < $number) { - $snd_data = [ - 'msg' => '此商品库存不足', - 'operate_type' => $message['operate_type'], - 'msg_id' => 'out_of_stock' . Random::build(), - 'type' => 'out_of_stock', - 'id' => !empty($message['id'])?$message['id']:'', - 'data_type' => 'cart', - 'status' => 0, - 'data' => [] - ]; - $gate_way::sendToClient($client_id, json_encode($snd_data)); - return; - } - } +// if(is_numeric($red_number)) { +// // 起售数量和库存之间的处理 +// if(!empty($message['suitNum']) && $message['suitNum'] > 1) { +// if($red_number < $message['suitNum']) { +// $snd_data = [ +// 'msg' => '此商品库存不足起售数量', +// 'operate_type' => $message['operate_type'], +// 'msg_id' => 'no_suit_num' . Random::build(), +// 'type' => 'no_suit_num', +// 'data_type' => 'cart', +// 'id' => $message['id'], +// 'product_id' => $message['product_id'], +// 'status' => 0, +// 'data' => [] +// ]; +//// print_r('此商品库存不足起售数量' . "\r\n" . date('Y-m-d H:i:s')); +// $gate_way::sendToClient($client_id, json_encode($snd_data)); +// return; +// } +// } +// $data = []; +// // 如果是编辑,拿到已有数量 +// if($message['operate_type'] == 'edit' && !empty($message['id'])) { +// $data = Db::query(" +// SELECT * FROM `tb_cashier_cart` WHERE +// `id`={$message['id']}"); +// if($data) { +// // 如果编辑数量 小于已有数量并且大于库存数量 直接改成库存数量 +// if($number < $data[0]['number'] && $number > $red_number) { +// $number = $red_number; +// $message['number'] = $red_number; +// } +// if($number < $data[0]['number'] && $red_number == 0) { +// $number = 0; +// $message['number'] = 0; +// } +// } +// } +// $d_data = false; +// // 如果是套餐商品, 拿到商品总数量 +// if(!empty($message['goods_type']) && $message['goods_type'] == 'package') { +// if($product) { +// if($product[0]['group_type'] == 1) { +// $d_data = true; +// } +// } +// } +// if($product) { +// if($product[0]['type'] == 'sku') { +// if($data) { +// if($message['number'] > $data[0]['number']) { +// $d_data = true; +// } +// } +// if(!empty($message['operate_type']) && $message['operate_type'] == 'add') { +// $d_data = true; +// } +// } +// } +// if($d_data) { +// $data_number = Db::query(" +// SELECT SUM(number) number FROM `tb_cashier_cart` WHERE +// `shop_id`={$message['shop_id']} AND +// `product_id`={$message['product_id']} AND +// `table_code`='{$message['table_code']}' +// "); +// if($data_number) { +//// print_r('已有数量' . $data_number[0]['number'] . "\r\n" . date('Y-m-d H:i:s')); +// $number += $data_number[0]['number']; +// if($data && $number > $data[0]['number']) { +// $number -= $data[0]['number']; +// } +// } +// } +//// print_r('实际数量' . $number . "\r\n" . date('Y-m-d H:i:s')); +// if($red_number < $number) { +// $snd_data = [ +// 'msg' => '此商品库存不足', +// 'operate_type' => $message['operate_type'], +// 'msg_id' => 'out_of_stock' . Random::build(), +// 'type' => 'out_of_stock', +// 'id' => !empty($message['id'])?$message['id']:'', +// 'data_type' => 'cart', +// 'status' => 0, +// 'data' => [] +// ]; +// $gate_way::sendToClient($client_id, json_encode($snd_data)); +// return; +// } +// } } if(!empty($type)) { switch ($type) {