From 0cc42134b4709c888c82ebd6635d9a2df7a98bc7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 9 Oct 2024 17:07:43 +0800 Subject: [PATCH 1/4] 1 --- webapp/services/BattleBoxService.php | 12 ++++++++++++ webapp/services/RoomBattleDataService.php | 15 +++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/webapp/services/BattleBoxService.php b/webapp/services/BattleBoxService.php index eaf55b49..c659c5d7 100644 --- a/webapp/services/BattleBoxService.php +++ b/webapp/services/BattleBoxService.php @@ -237,4 +237,16 @@ class BattleBoxService { } } + public static function incDropTotalNum($phase, $time, $val) + { + $key = self::DAILY_PHASE_ALREADY_ALLOC_NUM_KEY . $phase . ':' . $time; + $r = myself()->_getRedis($key); + $num = intval($r->get($key)); + if (empty($num)) { + $r->setPx($key, $val, 1000 * 3600 * 24 * 7); + } else { + $r->setPx($key, $num + $val, 1000 * 3600 * 24 * 7); + } + } + } diff --git a/webapp/services/RoomBattleDataService.php b/webapp/services/RoomBattleDataService.php index df519a8a..b2e28232 100644 --- a/webapp/services/RoomBattleDataService.php +++ b/webapp/services/RoomBattleDataService.php @@ -18,6 +18,7 @@ require_once('mt/StakingVip.php'); require_once('services/AwardService.php'); require_once('services/PropertyChgService.php'); require_once('services/LogService.php'); +require_once('services/BattleBoxService.php'); require_once('phpcommon/tglog.php'); use models\Circuit; @@ -360,6 +361,20 @@ class RoomBattleDataService extends BaseService { } } if (count($rewardBox) > 0){ + if ($battleSingleDb) { + $row = SqlHelper::ormSelectOne( + myself()->_getSelfMysql(), + 't_box_alloc', + array( + 'room_uuid' => $battleSingleDb['room_uuid'], + ) + ); + if ($row) { + services\BattleBoxService::incDropTotalNum($row['phase'], + $row['createtime'], + $member['box_num']); + } + } $rewardBoxResult = myself()->_mergeAlikeItemKey($rewardBox); foreach ($rewardBoxResult as $item){ array_push($reward,$item); From 1204438a3e11576d82fef18758056066f794ec08 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 9 Oct 2024 17:08:26 +0800 Subject: [PATCH 2/4] 1 --- webapp/services/BattleBoxService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/services/BattleBoxService.php b/webapp/services/BattleBoxService.php index c659c5d7..d4109942 100644 --- a/webapp/services/BattleBoxService.php +++ b/webapp/services/BattleBoxService.php @@ -239,7 +239,7 @@ class BattleBoxService { public static function incDropTotalNum($phase, $time, $val) { - $key = self::DAILY_PHASE_ALREADY_ALLOC_NUM_KEY . $phase . ':' . $time; + $key = self::DAILY_PHASE_DROP_TOTAL_KEY . $phase . ':' . $time; $r = myself()->_getRedis($key); $num = intval($r->get($key)); if (empty($num)) { From d0c351f3e6c1329987bdd3b94b86b46255b63110 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 9 Oct 2024 17:11:40 +0800 Subject: [PATCH 3/4] 1 --- webapp/services/RoomBattleDataService.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/webapp/services/RoomBattleDataService.php b/webapp/services/RoomBattleDataService.php index b2e28232..f468c585 100644 --- a/webapp/services/RoomBattleDataService.php +++ b/webapp/services/RoomBattleDataService.php @@ -335,10 +335,12 @@ class RoomBattleDataService extends BaseService { $rate = isset($chestLootProbArr[$teamRank-1]) ? $chestLootProbArr[$teamRank-1] : 0; if ($rate > 0 && !empty($member['box_num']) && myself()->_switchIsOpen('bigEventBoxDrop')){ $rewardBox = array(); + $realBoxNum = 0; for ($i = 0; $i < $member['box_num']; ++$i) { $rand = $rate * 100; $rnd = rand(1,100); if ($rnd <= $rand){ + ++$realBoxNum; $chestItems = LootService::dropOutItem($rewardMeta['chestLoot']); if (count($chestItems)>0){ $event = array( @@ -372,7 +374,7 @@ class RoomBattleDataService extends BaseService { if ($row) { services\BattleBoxService::incDropTotalNum($row['phase'], $row['createtime'], - $member['box_num']); + $realBoxNum); } } $rewardBoxResult = myself()->_mergeAlikeItemKey($rewardBox); From 92670fc1b729b0d5084ae6ea0f4101e86b84c298 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 9 Oct 2024 17:24:58 +0800 Subject: [PATCH 4/4] 1 --- webapp/services/RoomBattleDataService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/services/RoomBattleDataService.php b/webapp/services/RoomBattleDataService.php index f468c585..48901d92 100644 --- a/webapp/services/RoomBattleDataService.php +++ b/webapp/services/RoomBattleDataService.php @@ -339,8 +339,8 @@ class RoomBattleDataService extends BaseService { for ($i = 0; $i < $member['box_num']; ++$i) { $rand = $rate * 100; $rnd = rand(1,100); + ++$realBoxNum; if ($rnd <= $rand){ - ++$realBoxNum; $chestItems = LootService::dropOutItem($rewardMeta['chestLoot']); if (count($chestItems)>0){ $event = array(