老库存注释

This commit is contained in:
2026-04-14 11:41:23 +08:00
parent 2fea47ac21
commit fa2c4827e4

View File

@@ -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) {