限时折扣相关
This commit is contained in:
@@ -783,6 +783,10 @@ class Base extends Model
|
||||
}
|
||||
}
|
||||
$res = Db::execute($sql);
|
||||
// 顺便修改限时折扣
|
||||
(new static())->delTimeInfo($message);
|
||||
$message['table_code'] = $message['new_table_code'];
|
||||
(new static())->setTimeInfo($message);
|
||||
Db::commit();
|
||||
return $res;
|
||||
}catch (Exception $e) {
|
||||
@@ -918,6 +922,63 @@ class Base extends Model
|
||||
}
|
||||
}
|
||||
|
||||
// 获取限时折扣
|
||||
public function getTimeInfo($message)
|
||||
{
|
||||
$redis_str = Base::get_shopping_save_uid($message['shop_id'], $message['table_code']) . ':time_discount';
|
||||
$time_dis_info = Redis::get($redis_str);
|
||||
if($time_dis_info) {
|
||||
$time_dis_info = json_decode($time_dis_info, true);
|
||||
}else {
|
||||
if(!empty($message['time_dis_info'])) {
|
||||
$time_dis_info = !is_array($message['time_dis_info'])?json_decode($message['time_dis_info'], true):$message['time_dis_info'];
|
||||
}else {
|
||||
$time_dis_info = null;
|
||||
}
|
||||
}
|
||||
return $time_dis_info;
|
||||
}
|
||||
|
||||
// 限时折扣修改
|
||||
public function setTimeInfo($message)
|
||||
{
|
||||
$redis_str = Base::get_shopping_save_uid($message['shop_id'], $message['table_code']) . ':time_discount';
|
||||
if(empty($message['data'])) {
|
||||
$res = Redis::del($redis_str);
|
||||
}else {
|
||||
$res = Redis::setEx($redis_str, '86400', json_encode($message['data']));
|
||||
// 将桌号存入redis 以便及时删除
|
||||
$time_discount_info = Redis::get('time_discount:info');
|
||||
if($time_discount_info) {
|
||||
$arr_time_discount_info = explode(',', $time_discount_info);
|
||||
if(!in_array($redis_str, $arr_time_discount_info)) {
|
||||
$time_discount_info = array_merge($arr_time_discount_info, [$redis_str]);
|
||||
Redis::set('time_discount:info', implode(',', $time_discount_info));
|
||||
}
|
||||
}else {
|
||||
Redis::set('time_discount:info', $redis_str);
|
||||
}
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
|
||||
// 限时折扣删除
|
||||
public function delTimeInfo($message)
|
||||
{
|
||||
$redis_str = Base::get_shopping_save_uid($message['shop_id'], $message['table_code']) . ':time_discount';
|
||||
Redis::del($redis_str);
|
||||
$time_discount_info = Redis::get('time_discount:info');
|
||||
if($time_discount_info) {
|
||||
$arr_time_discount_info = explode(',', $time_discount_info);
|
||||
$result = array_search($redis_str, $arr_time_discount_info);
|
||||
if($result !== false) {
|
||||
unset($time_discount_info[$result]);
|
||||
Redis::set('time_discount:info', implode(',', $time_discount_info));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user