diff --git a/sql/gamedb.sql b/sql/gamedb.sql index 242a408e..69f4ac5e 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -1730,3 +1730,21 @@ CREATE TABLE `t_hash_rate_battle_data` ( `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', PRIMARY KEY (`idx`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + + +-- +-- Table structure for table `t_hash_rate_battle_data` +-- + +DROP TABLE IF EXISTS `t_global_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `t_global_data` ( + `idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id', + `name` varchar(60) NOT NULL DEFAULT '' COMMENT '参数名', + `data` mediumblob COMMENT 'data', + `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', + `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', + PRIMARY KEY (`idx`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; \ No newline at end of file diff --git a/sql/gamedb2006_migrate_231228_01.sql b/sql/gamedb2006_migrate_231228_01.sql index f475a938..adc38f78 100644 --- a/sql/gamedb2006_migrate_231228_01.sql +++ b/sql/gamedb2006_migrate_231228_01.sql @@ -21,6 +21,17 @@ CREATE TABLE `t_hash_rate_battle_data` ( PRIMARY KEY (`idx`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +CREATE TABLE `t_global_data` ( + `idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id', + `name` varchar(60) NOT NULL DEFAULT '' COMMENT '参数名', + `data` mediumblob COMMENT 'data', + `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', + `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', + PRIMARY KEY (`idx`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + alter table t_chip add column `quality` int(11) NOT NULL DEFAULT '0' COMMENT '品阶'; insert into version (version) values(2023122801); diff --git a/webapp/models/GlobalData.php b/webapp/models/GlobalData.php new file mode 100644 index 00000000..de2a3a10 --- /dev/null +++ b/webapp/models/GlobalData.php @@ -0,0 +1,52 @@ +_getSelfMysql(), + 't_global_data', + array( + 'name' =>$name, + ), + array( + 'data' => $battleData, + 'modifytime' => myself()->_getNowTime(), + ), + array( + 'name' => $name, + 'data' => $battleData, + 'createtime' => myself()->_getNowTime(), + 'modifytime' => myself()->_getNowTime() + ) + ); + } + + private static function internalGet($name) + { + $row = SqlHelper::ormSelectOne + (myself()->_getMysql(''), + 't_global_data', + array( + 'name' => $name + ) + ); + return $row ? $row : ''; + } + +} \ No newline at end of file diff --git a/webapp/services/HashRateService.php b/webapp/services/HashRateService.php index 7faba59b..0aa7eced 100644 --- a/webapp/services/HashRateService.php +++ b/webapp/services/HashRateService.php @@ -5,7 +5,9 @@ namespace services; require_once('models/Hero.php'); require_once('models/HashRate.php'); require_once('models/HashRateBattleData.php'); +require_once('models/GlobalData.php'); +use models\GlobalData; use models\HashRateBattleData; use models\HashRate; use models\Hero; @@ -51,7 +53,8 @@ class HashRateService extends BaseService $this->pvpBattleData = $this->hashRateData['pvpData']; $this->mobaBattleData = $this->hashRateData['mobaData']; - $this->serverTaskData = getXVal($this->hisBattleData, 'server_task_data', array()); + $serverDataDb = GlobalData::getServerTaskData(); + $this->serverTaskData = getXVal($serverDataDb, 'data', array()); if (!$this->serverTaskData){ $this->serverTaskData = array( 'pvpData' => array(), diff --git a/webapp/services/TameBattleDataService.php b/webapp/services/TameBattleDataService.php index 5497bc1e..44b70189 100644 --- a/webapp/services/TameBattleDataService.php +++ b/webapp/services/TameBattleDataService.php @@ -5,50 +5,34 @@ require_once('mt/Item.php'); require_once('mt/Equip.php'); require_once('mt/Season.php'); require_once('mt/Rank.php'); -require_once('mt/RankReward.php'); -require_once('mt/KillReward.php'); require_once('mt/Parameter.php'); require_once('mt/Hero.php'); -require_once('mt/HeroQuality.php'); -require_once('mt/AttrHelper.php'); require_once('mt/PveGemini.php'); require_once('mt/PveGeminiMode.php'); require_once('mt/RankSeason.php'); -require_once('mt/LevelUp.php'); require_once('mt/StarLevel.php'); require_once('mt/AchievementsCycle.php'); require_once('mt/ServerTaskTime.php'); require_once('models/Season.php'); require_once('models/Battle.php'); -require_once('models/Bag.php'); require_once('models/Hero.php'); -require_once('models/Gun.php'); -require_once('models/Chip.php'); -require_once('models/Nft.php'); -require_once('models/FragmentPool.php'); -require_once('models/RealtimeData.php'); -require_once('models/BattleHistory.php'); -require_once('models/NftActive.php'); require_once('models/FragmentRecord.php'); require_once('models/BattleSettlement.php'); require_once('models/RankBattle.php'); -require_once('models/HashRate.php'); require_once('models/HashRateBattleData.php'); +require_once('models/GlobalData.php'); require_once('services/RankActivityService.php'); -require_once('services/FormulaService.php'); require_once('services/AwardService.php'); require_once('services/PropertyChgService.php'); require_once('services/LogService.php'); use models\BattleSettlement; -use models\Chip; + use models\FragmentRecord; -use models\HashRateTask; -use models\Nft; -use models\NftActive; +use models\GlobalData; use models\RankBattle; use models\User; use mt; @@ -58,13 +42,7 @@ use phpcommon\SqlHelper; use models\Season; use models\Battle; use models\HashRateBattleData; -use models\Bag; use models\Hero; -use models\Gun; -use models\RealtimeData; -use models\FragmentPool; -use models\BattleHistory; -use services\FormulaService; use services\LogService; class TameBattleDataService extends BaseService { @@ -119,8 +97,8 @@ class TameBattleDataService extends BaseService { return false; } - //记录算力系统有效行为 - $this->_updateHashRateData();die; + //记录战斗有效行为 + $this->_updateBattleData(); switch ($matchMode) { //PVP模式 @@ -170,7 +148,7 @@ class TameBattleDataService extends BaseService { break; case self::ROOM_MODE_MOBA : { - $this->updateMobaData(); +// $this->updateMobaData(); } break; default: @@ -1221,9 +1199,10 @@ class TameBattleDataService extends BaseService { $battleData[$key] = max(getXVal($battleData, $key, 0), $val); } - private function _updateHashRateData(){ - error_log("_addHashRateTask"); + private function _updateBattleData(){ + error_log("_updateBattleData"); $hisBattleData = HashRateBattleData::getMyBattleData(); + $serverTaskData = GlobalData::getServerTaskData(); //算力系统任务统计 $currentHashRate= \mt\AchievementsCycle::getCurrentPeriod(); @@ -1248,17 +1227,17 @@ class TameBattleDataService extends BaseService { //服务器大事件任务统计 $server_task_state = myself()->_getV(TN_SERVER_TASK_STATE,0); $currentServerTask = mt\ServerTaskTime::getCurrentTime(); - if (!isset($hisBattleData['server_task_data'])) { - $hisBattleData['server_task_data'] = array( + if (!isset($serverTaskData['data'])) { + $serverTaskData['data'] = array( 'pvpData' => array(), 'mobaData' => array(), 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime() ); } - if ($currentServerTask && myself()->_getDaySeconds($hisBattleData['server_task_data']['modifytime']) < + if ($currentServerTask && myself()->_getDaySeconds($serverTaskData['data']['modifytime']) < myself()->_getDaySeconds(strtotime($currentServerTask['obtain_start_time']))) { - $hisBattleData['server_task_data'] = array( + $serverTaskData['data'] = array( 'pvpData' => array(), 'mobaData' => array(), 'createtime' => $hisBattleData['server_task_data']['createtime'], @@ -1297,8 +1276,8 @@ class TameBattleDataService extends BaseService { if (! $server_task_state && myself()->_getNowTime() > strtotime($currentServerTask['obtain_start_time']) && myself()->_getNowTime() < strtotime($currentServerTask['obtain_end_time'])) { - $this->applyEx($hisBattleData['server_task_data']['pvpData']); - $hisBattleData['server_task_data']['modifytime'] = myself()->_getNowTime(); + $this->applyEx($serverTaskData['data']['pvpData']); + $serverTaskData['data']['modifytime'] = myself()->_getNowTime(); } } @@ -1311,8 +1290,8 @@ class TameBattleDataService extends BaseService { if (! $server_task_state && myself()->_getNowTime() > strtotime($currentServerTask['obtain_start_time']) && myself()->_getNowTime() < strtotime($currentServerTask['obtain_end_time'])) { - $this->applyEx($hisBattleData['server_task_data']['mobaData']); - $hisBattleData['server_task_data']['modifytime'] = myself()->_getNowTime(); + $this->applyEx($serverTaskData['data']['mobaData']); + $serverTaskData['data']['modifytime'] = myself()->_getNowTime(); } } @@ -1323,7 +1302,7 @@ class TameBattleDataService extends BaseService { break; } HashRateBattleData::add(json_encode($hisBattleData)); - + GlobalData::addServerTaskData($serverTaskData); } private function applyEx(&$battleData)