From ef900151950c6f4914a8cc4b10ad5bd72ef9afc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Sun, 12 Oct 2025 12:38:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E9=9C=80=E6=B1=82-=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E9=9C=80=E6=B1=82-=E7=9B=B2=E7=9B=92=E8=BD=AC=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/adminapi/controller/BlindBox.php | 178 +++++++++--------- .../api/controller/BlindBoxTurntable.php | 4 +- .../model/BlindBoxTurntableGiftDrawWorld.php | 2 +- 3 files changed, 92 insertions(+), 92 deletions(-) diff --git a/application/adminapi/controller/BlindBox.php b/application/adminapi/controller/BlindBox.php index e0982ab..a3677ca 100644 --- a/application/adminapi/controller/BlindBox.php +++ b/application/adminapi/controller/BlindBox.php @@ -261,95 +261,95 @@ class BlindBox extends adminApi return V(0,"请选择盲盒类型"); } $gift_bag_detail = db::name($this->table)->where(['gift_bag_id'=>$gift_bag_id])->select(); - if(in_array($gift_bag_id,[10,11,12,13])){ - $periods = 1; - $target_room_ids = []; - if(!empty($room_id)){ - // 处理单个房间 - $room_pan_detail = db::name('vs_room_pan') - ->where(['gift_bag_id'=>$gift_bag_id,'room_id'=>$room_id]) - ->order('id desc') - ->find(); - - if($room_pan_detail){ - $periods = $room_pan_detail['periods']; - } - // 删除指定房间的数据 - db::name('vs_room_pan') - ->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id]) - ->delete(); - - $target_room_ids = [$room_id]; - }else{ - // 处理所有房间 - db::name('vs_room_pan') - ->where(['gift_bag_id'=>$gift_bag_id]) - ->delete(); - - $target_room_ids = db::name('vs_room') - ->where(['is_open_blind_box_turntable'=>1,'room_status'=>1]) - ->column('id'); - } - // 批量插入数据 - $insert_data = []; - $update_data = []; - foreach ($gift_bag_detail as $v){ - if(!empty($room_id)) { - // 单个房间更新或插入 - $existing = db::name('vs_room_pan') - ->where([ - 'room_id' => $room_id, - 'gift_bag_detail_id' => $v['id'] - ]) - ->find(); - - if($existing) { - $update_data[] = [ - 'id' => $existing['id'], - 'remaining_number' => $v['quantity'], - 'periods' => $periods - ]; - } else { - $insert_data[] = [ - 'room_id' => $room_id, - 'gift_bag_id' => $gift_bag_id, - 'gift_bag_detail_id' => $v['id'], - 'remaining_number' => $v['quantity'], - 'periods' => $periods, - 'createtime' => time(), - ]; - } - } else { - // 多个房间批量插入 - foreach ($target_room_ids as $mid){ - $insert_data[] = [ - 'room_id' => $mid, - 'gift_bag_id' => $gift_bag_id, - 'gift_bag_detail_id' => $v['id'], - 'remaining_number' => $v['quantity'], - 'periods' => $periods, - 'createtime' => time(), - ]; - } - } - } - - // 执行批量插入 - if(!empty($insert_data)) { - db::name('vs_room_pan')->insertAll($insert_data); - } - // 执行批量更新 - if(!empty($update_data)) { - foreach($update_data as $update_item) { - db::name('vs_room_pan') - ->where(['id' => $update_item['id']]) - ->update([ - 'remaining_number' => $update_item['remaining_number'], - 'periods' => $update_item['periods'] - ]); - } - } - } +// if(in_array($gift_bag_id,[10,11,12,13])){ +// $periods = 1; +// $target_room_ids = []; +// if(!empty($room_id)){ +// // 处理单个房间 +// $room_pan_detail = db::name('vs_room_pan') +// ->where(['gift_bag_id'=>$gift_bag_id,'room_id'=>$room_id]) +// ->order('id desc') +// ->find(); +// +// if($room_pan_detail){ +// $periods = $room_pan_detail['periods']; +// } +// // 删除指定房间的数据 +// db::name('vs_room_pan') +// ->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id]) +// ->delete(); +// +// $target_room_ids = [$room_id]; +// }else{ +// // 处理所有房间 +// db::name('vs_room_pan') +// ->where(['gift_bag_id'=>$gift_bag_id]) +// ->delete(); +// +// $target_room_ids = db::name('vs_room') +// ->where(['is_open_blind_box_turntable'=>1,'room_status'=>1]) +// ->column('id'); +// } +// // 批量插入数据 +// $insert_data = []; +// $update_data = []; +// foreach ($gift_bag_detail as $v){ +// if(!empty($room_id)) { +// // 单个房间更新或插入 +// $existing = db::name('vs_room_pan') +// ->where([ +// 'room_id' => $room_id, +// 'gift_bag_detail_id' => $v['id'] +// ]) +// ->find(); +// +// if($existing) { +// $update_data[] = [ +// 'id' => $existing['id'], +// 'remaining_number' => $v['quantity'], +// 'periods' => $periods +// ]; +// } else { +// $insert_data[] = [ +// 'room_id' => $room_id, +// 'gift_bag_id' => $gift_bag_id, +// 'gift_bag_detail_id' => $v['id'], +// 'remaining_number' => $v['quantity'], +// 'periods' => $periods, +// 'createtime' => time(), +// ]; +// } +// } else { +// // 多个房间批量插入 +// foreach ($target_room_ids as $mid){ +// $insert_data[] = [ +// 'room_id' => $mid, +// 'gift_bag_id' => $gift_bag_id, +// 'gift_bag_detail_id' => $v['id'], +// 'remaining_number' => $v['quantity'], +// 'periods' => $periods, +// 'createtime' => time(), +// ]; +// } +// } +// } +// +// // 执行批量插入 +// if(!empty($insert_data)) { +// db::name('vs_room_pan')->insertAll($insert_data); +// } +// // 执行批量更新 +// if(!empty($update_data)) { +// foreach($update_data as $update_item) { +// db::name('vs_room_pan') +// ->where(['id' => $update_item['id']]) +// ->update([ +// 'remaining_number' => $update_item['remaining_number'], +// 'periods' => $update_item['periods'] +// ]); +// } +// } +// } // 更新盲盒详情的剩余数量 foreach ($gift_bag_detail as $k=>$v){ $bag_data = db::name($this->table)->where(['id'=>$v['id']])->update(['remaining_number'=>$v['quantity']]); diff --git a/application/api/controller/BlindBoxTurntable.php b/application/api/controller/BlindBoxTurntable.php index 5df8b2c..d37b54f 100644 --- a/application/api/controller/BlindBoxTurntable.php +++ b/application/api/controller/BlindBoxTurntable.php @@ -39,7 +39,7 @@ class BlindBoxTurntable extends BaseCom $gift_user_ids = input('gift_user_ids',0); $num = input('num',1); $heart_id = input('heart_id',0); - $reslut = model('BlindBoxTurntableGiftDrawWorld')->draw_gift($gift_bag_id, $user_id, $gift_user_ids,$num,$room_id,$heart_id); + $reslut = model('BlindBoxTurntableGiftDraw')->draw_gift($gift_bag_id, $user_id, $gift_user_ids,$num,$room_id,$heart_id); return v($reslut['code'], $reslut['msg'], $reslut['data']); } /* @@ -92,7 +92,7 @@ class BlindBoxTurntable extends BaseCom $user_id = $this->uid; $room_id = input('room_id',0); $num = input('num',1); - $reslut = model('BlindBoxTurntableGiftDrawWorld')->xlh_draw_gift($user_id,$num,$room_id); + $reslut = model('BlindBoxTurntableGiftDraw')->xlh_draw_gift($user_id,$num,$room_id); return v($reslut['code'], $reslut['msg'], $reslut['data']); } /* diff --git a/application/api/model/BlindBoxTurntableGiftDrawWorld.php b/application/api/model/BlindBoxTurntableGiftDrawWorld.php index ed54ace..bc14098 100644 --- a/application/api/model/BlindBoxTurntableGiftDrawWorld.php +++ b/application/api/model/BlindBoxTurntableGiftDrawWorld.php @@ -922,7 +922,7 @@ class BlindBoxTurntableGiftDrawWorld extends Model * @param int $gift_bag_id 礼物包ID */ private function reset_gift_pool($gift_bag_id,$remaining_available_gifts=[]) { - $bag_detail = b::name("vs_gift_bag_detail")->where('gift_bag_id',$gift_bag_id)->select(); + $bag_detail = db::name("vs_gift_bag_detail")->where('gift_bag_id',$gift_bag_id)->select(); db::name("vs_gift_bag")->where('id',$gift_bag_id)->setInc('periods'); //更新期数 db::name("vs_gift_bag_detail")->where('gift_bag_id',$gift_bag_id)->update(['remaining_number'=>db::raw('quantity')]);//重置奖池 //防止并发,上把如果件数小于0,则加上