game2006api/webapp/controller/ActivityController.class.php
hujiabin 92ce5dbd95 1
2024-04-20 14:44:26 +08:00

51 lines
1.8 KiB
PHP

<?php
require_once('services/HashRateService.php');
require_once('mt/ServerTaskTime.php');
require_once('mt/ServerTask.php');
require_once('models/GlobalData.php');
use models\GlobalData;
class ActivityController extends BaseAuthedController {
//服务器大事件
public function serverTask(){
$currentMeta = \mt\ServerTaskTime::getCurrentTime();
if (! $currentMeta){
GlobalData::addServerTaskStatus(\mt\ServerTask::NOT_ACCOMPLISH_STATE);
$this->_rspErr(111, 'The activity has not started yet');
return;
}
$taskDtoList = array();
$taskListMeta = \mt\ServerTask::getMetaList();
$hashRateService = new services\HashRateService();
$hashRateService->init();
foreach ($taskListMeta as $taskMeta){
$taskDto = $hashRateService->serverTaskDto($taskMeta);
array_push($taskDtoList,$taskDto);
}
$count = 0;
foreach ($taskDtoList as $taskDto){
if ($taskDto['state'] == \services\HashRateService::FINISHED_STATE){
$count += 1;
}
}
if ($count == count($taskDtoList)){
GlobalData::addServerTaskStatus(\mt\ServerTask::ACCOMPLISH_MOBA_STATE);
}
// $drop_state = $hashRateService->getServerASKBoxMode();
$this->_rspData(array(
'obtain_start_time' => strtotime($currentMeta['obtain_start_time']),
'obtain_end_time' => strtotime($currentMeta['obtain_end_time']),
'income_start_time' => strtotime($currentMeta['income_start_time']),
'income_end_time' => strtotime($currentMeta['income_end_time']),
'status' => GlobalData::getServerTaskStatus(),
'taskDtoList' => $taskDtoList,
));
}
}