From 13cdbb56ee94c4583be6911df5a9613ae6a11106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Fri, 16 Jan 2026 21:38:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B2=E7=9B=92=E8=BD=AC=E7=9B=98=E5=8A=A0?= =?UTF-8?q?=E9=99=90=E5=88=B6=EF=BC=8C=E5=8A=A0=E6=8E=A7=E7=9B=98=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/SendGift.php | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/application/api/model/SendGift.php b/application/api/model/SendGift.php index b9826053..6680cd94 100644 --- a/application/api/model/SendGift.php +++ b/application/api/model/SendGift.php @@ -1460,12 +1460,29 @@ class SendGift extends Model } } - //关禁闭----限制某个房间抽奖只能抽盘里数量最多的礼物-------- - $gift_bag_details = db::name("vs_gift_bag_detail")->where([ 'gift_bag_id' => $gift_bag_id,'remaining_number' => ['>',0]])->order('remaining_number', 'desc')->find(); - if($gift_bag_details && in_array($room_id,[49])){ - $gift_bag_detail = $gift_bag_details; + //当前用户在本期的(补偿 防止漏洞 超过预期 把盘拉平) + //总抽奖金额(支出) + $total_money = db::name('vs_gift_bag_receive_log')->where(['gift_bag_id' => $gift_bag_id,'user_id' => $user_id,'periods'=>$periods])->sum('bag_price'); + //总礼物价值(收入) + $total_gift_money = db::name('vs_gift_bag_receive_log')->where(['gift_bag_id' => $gift_bag_id,'user_id' => $user_id,'periods'=>$periods])->sum('gift_price'); + if($total_money>0 && $total_gift_money>0){ + $ratio =round(($total_gift_money / $total_money),3) ?? 0; + if($ratio > 1.03){ + $gift_bag_detail_duo = db::name("vs_gift_bag_detail")->where([ 'gift_bag_id' => $gift_bag_id,'remaining_number' => ['>',0]])->order('remaining_number', 'desc')->find(); + if($gift_bag_detail_duo){ + $gift_bag_detail = $gift_bag_detail_duo; + } + } } + + //关禁闭----限制某个房间抽奖只能抽盘里数量最多的礼物-------- + $gift_bag_detail_duo = db::name("vs_gift_bag_detail")->where([ 'gift_bag_id' => $gift_bag_id,'remaining_number' => ['>',0]])->order('remaining_number', 'desc')->find(); + if($gift_bag_detail_duo && in_array($room_id,[49])){ + $gift_bag_detail = $gift_bag_detail_duo; + } + //关禁闭--------------------------------------------- + if($gift_bag_detail){ //获取开出礼物的信息 $gift = db::name("vs_gift")->where(['gid'=>$gift_bag_detail['foreign_id']])->find();