bulk_edit

This commit is contained in:
ASUS 2025-11-12 14:06:05 +08:00
parent 898b4ee274
commit b384210fe7
6 changed files with 180 additions and 0 deletions

View File

@ -650,6 +650,71 @@ class Base extends Model
}
return $res;
}
// 批量修改购物车
public static function bulk_edit_data($message)
{
// 需要过滤的字段
$arr = [
'type',
'operate_type',
'account',
'active',
'create_time',
'goods_type',
'group_type',
'selectSpecInfo',
'limitDiscountPrice',
'isStock',
'stockNumber',
'group_text',
'skuList',
'update_time',
'lowPrice',
'salePrice',
'coverImg',
'name',
'packFee',
'unitName',
'suitNum',
'memberPrice',
'tableCode',
];
$res = 0;
if(!empty($message['history'])) {
$list = $message['history'];
$table_name = 'tb_order_detail';
$edit_type = 'history';
$num = 'num';
}elseif (!empty($message['cart'])) {
$list = $message['cart'];
$table_name = 'tb_cashier_cart';
$edit_type = 'cart';
$num = 'number';
}
// 过滤字段
foreach ($list as $k => $v) {
foreach ($arr as $av) {
if(!empty($v[$av])) {
unset($list[$k][$v]);
}
}
}
foreach ($list as $k => $data) {
$data['update_time'] = date('Y-m-d H:i:s');
if($edit_type == 'cart' && !empty($data['pro_group_info']) && is_array($data['pro_group_info'])) {
$data['pro_group_info'] = json_encode($data['pro_group_info']);
}
if(isset($data[$num]) && $data[$num] <= 0) {
$res += Db::table($table_name)->where('id' , $data['id'])->delete();
}else {
$res += Db::table($table_name)->update($data);
}
}
return ['status' => $res>1?1:0, 'data_type' => $edit_type];
}
// 转桌
public static function rottable($message)
{

View File

@ -378,6 +378,29 @@ class Cashier extends Base
case 'search_pay_lock':
self::searchpaylock($client_id, $message);
break;
// 批量修改(历史订单与购物车)
case 'bulk_edit':
try {
if(empty($message['history']) && empty($message['cart'])) {
self::gateway_query('sendToClient', [$client_id, json_encode(['msg' => '数据结构错误'])]);
return;
}
$res = self::bulk_edit_data($message);
$rand = 'cashier_edit' . Random::build();
$snd_data = [
'msg' => '购物车修改',
'type' => 'cashier',
'status' => $res['status'],
'operate_type' => 'edit',
'data_type' => $res['data_type'],
'msg_id' => $rand,
'data' => []
];
self::gateway_query('sendToClient', [$client_id, json_encode($snd_data)]);
}catch (Exception $e) {
Log::info('修改购物车时[error]->>>>>' . $e->getMessage());
}
break;
}
}
}

View File

@ -335,6 +335,29 @@ class Manage extends Base
case 'search_pay_lock':
self::searchpaylock($client_id, $message);
break;
// 批量修改(历史订单与购物车)
case 'bulk_edit':
try {
if(empty($message['history']) && empty($message['cart'])) {
self::gateway_query('sendToClient', [$client_id, json_encode(['msg' => '数据结构错误'])]);
return;
}
$res = self::bulk_edit_data($message);
$rand = 'cashier_edit' . Random::build();
$snd_data = [
'msg' => '购物车修改',
'type' => 'manage',
'status' => $res['status'],
'operate_type' => 'edit',
'data_type' => $res['data_type'],
'msg_id' => $rand,
'data' => []
];
self::gateway_query('sendToClient', [$client_id, json_encode($snd_data)]);
}catch (Exception $e) {
\support\Log::info('修改购物车时[error]->>>>>' . $e->getMessage());
}
break;
}
}
}

View File

@ -336,6 +336,29 @@ class Onboc extends Base
case 'search_pay_lock':
self::searchpaylock($client_id, $message);
break;
// 批量修改(历史订单与购物车)
case 'bulk_edit':
try {
if(empty($message['history']) && empty($message['cart'])) {
self::gateway_query('sendToClient', [$client_id, json_encode(['msg' => '数据结构错误'])]);
return;
}
$res = self::bulk_edit_data($message);
$rand = 'cashier_edit' . Random::build();
$snd_data = [
'msg' => '购物车修改',
'type' => 'onboc',
'status' => $res['status'],
'operate_type' => 'edit',
'data_type' => $res['data_type'],
'msg_id' => $rand,
'data' => []
];
self::gateway_query('sendToClient', [$client_id, json_encode($snd_data)]);
}catch (Exception $e) {
Log::info('修改购物车时[error]->>>>>' . $e->getMessage());
}
break;
}
}

View File

@ -350,6 +350,29 @@ class Pad extends Base
case 'search_pay_lock':
self::searchpaylock($client_id, $message);
break;
// 批量修改(历史订单与购物车)
case 'bulk_edit':
try {
if(empty($message['history']) && empty($message['cart'])) {
self::gateway_query('sendToClient', [$client_id, json_encode(['msg' => '数据结构错误'])]);
return;
}
$res = self::bulk_edit_data($message);
$rand = 'cashier_edit' . Random::build();
$snd_data = [
'msg' => '购物车修改',
'type' => 'pad',
'status' => $res['status'],
'operate_type' => 'edit',
'data_type' => $res['data_type'],
'msg_id' => $rand,
'data' => []
];
self::gateway_query('sendToClient', [$client_id, json_encode($snd_data)]);
}catch (Exception $e) {
Log::info('修改购物车时[error]->>>>>' . $e->getMessage());
}
break;
}
}
}

View File

@ -315,6 +315,29 @@ class Shopping extends Base
case 'search_pay_lock':
self::searchpaylock($client_id, $message);
break;
// 批量修改(历史订单与购物车)
case 'bulk_edit':
try {
if(empty($message['history']) && empty($message['cart'])) {
self::gateway_query('sendToClient', [$client_id, json_encode(['msg' => '数据结构错误'])]);
return;
}
$res = self::bulk_edit_data($message);
$rand = 'cashier_edit' . Random::build();
$snd_data = [
'msg' => '购物车修改',
'type' => 'shopping',
'status' => $res['status'],
'operate_type' => 'edit',
'data_type' => $res['data_type'],
'msg_id' => $rand,
'data' => []
];
self::gateway_query('sendToClient', [$client_id, json_encode($snd_data)]);
}catch (\ba\Exception $e) {
Log::info('修改购物车时[error]->>>>>' . $e->getMessage());
}
break;
}
}
}