From 252548705139cc0b36616fd5146c9087ca28a559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Thu, 16 Oct 2025 10:58:57 +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?= =?UTF-8?q?=E8=B0=83=E9=80=9A=E7=9B=98-=E5=B7=A1=E4=B9=90=E4=BC=9A-?= =?UTF-8?q?=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/model/BlindBoxTurntableGiftDrawWorld.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/application/api/model/BlindBoxTurntableGiftDrawWorld.php b/application/api/model/BlindBoxTurntableGiftDrawWorld.php index c3e6d5f..7be7781 100644 --- a/application/api/model/BlindBoxTurntableGiftDrawWorld.php +++ b/application/api/model/BlindBoxTurntableGiftDrawWorld.php @@ -163,7 +163,7 @@ class BlindBoxTurntableGiftDrawWorld extends Model ->field('bag.id,bag.name,bag.ext,gift.gid as gift_id,gift.gift_price') ->where('bag.id', $gift_bag_id) ->find(); - if (!$bag_data || !$bag_data['gift_price']) { + if (!$bag_data || !is_array($bag_data) || !isset($bag_data['gift_price'])) { return ['code' => 0, 'msg' => '盲盒配置不存在或盲盒礼物不存在', 'data' => null]; } // 2. 获取房间信息 @@ -225,7 +225,10 @@ class BlindBoxTurntableGiftDrawWorld extends Model } $totalDrawTimes = 0;//总抽奖次数重置 } - + // 在处理奖池重置逻辑之前添加检查 + if (!is_array($availableGifts)) { + throw new \Exception('可用礼物数据格式错误'); + } // 3. 预加载礼物信息(减少后续查询) $giftInfoMap = $this->preloadGiftInfo($availableGifts); @@ -287,6 +290,9 @@ class BlindBoxTurntableGiftDrawWorld extends Model &$currentXlhPeriodsNum, $remaining_available_gifts ) { + if (!is_array($toarray) || !is_array($availableGifts) || !is_array($giftInfoMap)) { + throw new \Exception('预计算参数格式错误'); + } $precomputedResults = []; $precomputedResultss = []; $addcurrentXlhPeriodsNum = 0;