From c8bd67d489f6470cd0ddc18bbbeb693fa50847f7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 31 Jul 2024 13:57:49 +0800 Subject: [PATCH] 1 --- sql/gamedb.sql | 4 +- webapp/controller/BattleController.class.php | 56 ++++++++++++++++++++ 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/sql/gamedb.sql b/sql/gamedb.sql index 27fc8ed7..2f143928 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -1981,10 +1981,10 @@ DROP TABLE IF EXISTS `t_box_alloc`; CREATE TABLE `t_box_alloc` ( `idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id', `room_uuid` varchar(60) NOT NULL COMMENT '公告标题', - `account_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT 'account_id', + `account_id` varchar(60) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT 'account_id', `used_num` int(11) NOT NULL DEFAULT '0' COMMENT '已消耗的箱子数', `box_num` int(11) NOT NULL DEFAULT '0' COMMENT '分配的箱子数', - `return_account_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT 'return_account_id', + `return_account_id` varchar(60) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT 'return_account_id', `return_time` int(11) NOT NULL DEFAULT '0' COMMENT '返回时间', `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', diff --git a/webapp/controller/BattleController.class.php b/webapp/controller/BattleController.class.php index 58bc6c42..206eb92c 100644 --- a/webapp/controller/BattleController.class.php +++ b/webapp/controller/BattleController.class.php @@ -19,6 +19,7 @@ require_once('mt/RankSeason.php'); require_once('mt/Robot.php'); require_once('mt/Skill.php'); require_once('mt/MapMode.php'); +require_once('mt/Parameter.php'); use phpcommon\SqlHelper; use models\Hero; @@ -1196,6 +1197,56 @@ class BattleController extends BaseAuthedController { { error_log(json_encode($_REQUEST)); $roomUuid = getReqVal('room_uuid', ''); + $row = SqlHelper::ormSelectOne( + $this->_getSelfMysql(), + 't_box_alloc', + array( + 'room_uuid' => $roomUuid, + ) + ); + $boxNum = 0; + if (!empty($row)) { + if ($row['createtime'] > myself()->_getNowDaySeconds()) { + $boxNum = $row['box_num']; + } + myself()->_rspData(array( + 'box_num' => $boxNum + )); + return; + } + $alreadyAllocBoxNum = $this->getAlreadyAllocBoxNum(); + $dailyMaxNum = mt\Parameter::getVal('battle_event_loot_daily_max', 0); + $allocableNum = intval($dailyMaxNum - $alreadyAllocBoxNum); + $lstVal = mt\Parameter::getListValue('battle_event_loot_per_game'); + if ($allocableNum <= 0 || empty($lstVal) || count($lstVal) < 2) { + myself()->_rspData(array( + 'box_num' => 0 + )); + return; + } + $rnd = rand($lstVal[0], $lstVal[1]); + if ($rnd <= 0) { + myself()->_rspData(array( + 'box_num' => 0 + )); + return; + } + $boxNum = min($rnd, $allocableNum); + SqlHelper::insert( + $this->_getSelfMysql(), + 't_box_alloc', + array( + 'room_uuid' => $roomUuid, + 'account_id' => myself()->_getAccountId(), + 'box_num' => $boxNum, + 'createtime' => myself()->_getNowTime(), + 'modifytime' => myself()->_getNowTime(), + ) + ); + myself()->_rspData(array( + 'box_num' => $boxNum + )); + return; } public function requestReturnBoxNum() @@ -1206,4 +1257,9 @@ class BattleController extends BaseAuthedController { $allocBoxNum = getReqVal('alloc_box_num', 0); } + private function getAlreadyAllocBoxNum() + { + + } + }