1
This commit is contained in:
parent
d887ba26a9
commit
92ce5dbd95
@ -20,10 +20,8 @@ class Activity(object):
|
||||
['obtain_end_time', 0, '完成进度阶段结束时间'],
|
||||
['income_start_time', 0, '宝箱掉落阶段开始时间'],
|
||||
['income_end_time', 0, '宝箱掉落阶段结束时间'],
|
||||
['status', 0, '0:任务进行时 1:4v4完成任务 2:pvp完成任务 '],
|
||||
['drop_state', 0, ' 宝箱掉落模式 1:4v4 2:pvp '],
|
||||
['!taskDtoList1', [serverTask()], '4v4任务列表'],
|
||||
['!taskDtoList2', [serverTask()], 'pvp任务列表'],
|
||||
['status', 0, '0:任务未完成 1:完成任务 '],
|
||||
['!taskDtoList', [serverTask()], '任务列表'],
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -17,49 +17,34 @@ class ActivityController extends BaseAuthedController {
|
||||
$this->_rspErr(111, 'The activity has not started yet');
|
||||
return;
|
||||
}
|
||||
$taskDtoList1 = array();
|
||||
$taskDtoList2 = array();
|
||||
$taskDtoList = array();
|
||||
|
||||
$taskListMeta = \mt\ServerTask::getMetaList();
|
||||
$hashRateService = new services\HashRateService();
|
||||
$hashRateService->init();
|
||||
foreach ($taskListMeta as $taskMeta){
|
||||
if ($taskMeta['type'] == \mt\ServerTask::MOBA_TYPE){
|
||||
$taskDto = $hashRateService->serverTaskDto($taskMeta);
|
||||
array_push($taskDtoList1,$taskDto);
|
||||
array_push($taskDtoList,$taskDto);
|
||||
}
|
||||
if ($taskMeta['type'] == \mt\ServerTask::PVP_TYPE){
|
||||
$taskDto = $hashRateService->serverTaskDto($taskMeta);
|
||||
array_push($taskDtoList2,$taskDto);
|
||||
}
|
||||
}
|
||||
$mobaCount = 0;
|
||||
$pvpCount = 0;
|
||||
foreach ($taskDtoList1 as $taskDto){
|
||||
$count = 0;
|
||||
|
||||
foreach ($taskDtoList as $taskDto){
|
||||
if ($taskDto['state'] == \services\HashRateService::FINISHED_STATE){
|
||||
$mobaCount += 1;
|
||||
$count += 1;
|
||||
}
|
||||
}
|
||||
foreach ($taskDtoList2 as $taskDto){
|
||||
if ($taskDto['state'] == \services\HashRateService::FINISHED_STATE){
|
||||
$pvpCount += 1;
|
||||
}
|
||||
}
|
||||
if ($mobaCount == count($taskDtoList1)){
|
||||
|
||||
if ($count == count($taskDtoList)){
|
||||
GlobalData::addServerTaskStatus(\mt\ServerTask::ACCOMPLISH_MOBA_STATE);
|
||||
}
|
||||
if ($pvpCount == count($taskDtoList2)){
|
||||
GlobalData::addServerTaskStatus(\mt\ServerTask::ACCOMPLISH_PVP_STATE);
|
||||
}
|
||||
$drop_state = $hashRateService->getServerASKBoxMode();
|
||||
// $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(),
|
||||
'drop_state' => $drop_state,
|
||||
'taskDtoList1' => $taskDtoList1,
|
||||
'taskDtoList2' => $taskDtoList2,
|
||||
'taskDtoList' => $taskDtoList,
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ class HashRateService extends BaseService
|
||||
private $mobaBattleData = array();
|
||||
private $pvpBattleData = array();
|
||||
private $serverTaskData = array();
|
||||
private $mobaBattleDataServerTask = array();
|
||||
private $battleDataServerTask = array();
|
||||
private $pvpBattleDataServerTask = array();
|
||||
|
||||
public function init()
|
||||
@ -59,8 +59,6 @@ class HashRateService extends BaseService
|
||||
$this->serverTaskData = getXVal($serverDataDb, 'data', array());
|
||||
if (!$this->serverTaskData){
|
||||
$this->serverTaskData = array(
|
||||
'pvpData' => array(),
|
||||
'mobaData' => array(),
|
||||
'createtime' => myself()->_getNowTime(),
|
||||
'modifytime' => myself()->_getNowTime(),
|
||||
);
|
||||
@ -69,14 +67,11 @@ class HashRateService extends BaseService
|
||||
if ($currentServerTask && myself()->_getDaySeconds(getXVal($this->serverTaskData, 'modifytime', 0)) <
|
||||
myself()->_getDaySeconds(strtotime($currentServerTask['obtain_start_time']))) {
|
||||
$this->serverTaskData = array(
|
||||
'pvpData' => array(),
|
||||
'mobaData' => array(),
|
||||
'modifytime' => myself()->_getNowTime(),
|
||||
);
|
||||
GlobalData::addServerTaskStatus(\mt\ServerTask::NOT_ACCOMPLISH_STATE);
|
||||
}
|
||||
$this->pvpBattleDataServerTask = $this->serverTaskData['pvpData'];
|
||||
$this->mobaBattleDataServerTask = $this->serverTaskData['mobaData'];
|
||||
$this->battleDataServerTask = $this->serverTaskData;
|
||||
}
|
||||
|
||||
|
||||
@ -263,12 +258,7 @@ class HashRateService extends BaseService
|
||||
|
||||
private function internalGetServerTaskBattleData($taskMate)
|
||||
{
|
||||
$battleData = null;
|
||||
if ($taskMate['type'] == \mt\ServerTask::MOBA_TYPE) {
|
||||
$battleData = $this->mobaBattleDataServerTask;
|
||||
} else if ($taskMate['type'] == \mt\ServerTask::PVP_TYPE){
|
||||
$battleData = $this->pvpBattleDataServerTask;
|
||||
}
|
||||
$battleData = $this->battleDataServerTask;
|
||||
return $battleData ? $battleData : array();
|
||||
}
|
||||
|
||||
|
@ -1243,8 +1243,6 @@ class TameBattleDataService extends BaseService {
|
||||
$currentServerTask = mt\ServerTaskTime::getCurrentTime();
|
||||
if (!isset($serverTaskData['data'])) {
|
||||
$serverTaskData['data'] = array(
|
||||
'pvpData' => array(),
|
||||
'mobaData' => array(),
|
||||
'createtime' => myself()->_getNowTime(),
|
||||
'modifytime' => myself()->_getNowTime()
|
||||
);
|
||||
@ -1252,9 +1250,7 @@ class TameBattleDataService extends BaseService {
|
||||
if ($currentServerTask && myself()->_getDaySeconds($serverTaskData['data']['modifytime']) <
|
||||
myself()->_getDaySeconds(strtotime($currentServerTask['obtain_start_time']))) {
|
||||
$serverTaskData['data'] = array(
|
||||
'pvpData' => array(),
|
||||
'mobaData' => array(),
|
||||
'createtime' => $hisBattleData['server_task_data']['createtime'],
|
||||
'createtime' => $serverTaskData['data']['createtime'],
|
||||
'modifytime' => myself()->_getNowTime()
|
||||
);
|
||||
}
|
||||
@ -1288,12 +1284,7 @@ class TameBattleDataService extends BaseService {
|
||||
$this->applyEx($hisBattleData['hash_rate_data']['pvpData']);
|
||||
$hisBattleData['hash_rate_data']['modifytime'] = myself()->_getNowTime();
|
||||
}
|
||||
if (! $server_task_state && $currentServerTask &&
|
||||
myself()->_getNowTime() > strtotime($currentServerTask['obtain_start_time']) &&
|
||||
myself()->_getNowTime() < strtotime($currentServerTask['obtain_end_time'])) {
|
||||
$this->applyEx($serverTaskData['data']['pvpData']);
|
||||
$serverTaskData['data']['modifytime'] = myself()->_getNowTime();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
@ -1304,20 +1295,18 @@ class TameBattleDataService extends BaseService {
|
||||
$this->applyEx($hisBattleData['hash_rate_data']['mobaData']);
|
||||
$hisBattleData['hash_rate_data']['modifytime'] = myself()->_getNowTime();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
default:{}
|
||||
}
|
||||
if (! $server_task_state && $currentServerTask &&
|
||||
myself()->_getNowTime() > strtotime($currentServerTask['obtain_start_time']) &&
|
||||
myself()->_getNowTime() < strtotime($currentServerTask['obtain_end_time'])) {
|
||||
$this->applyEx($serverTaskData['data']['mobaData']);
|
||||
$this->applyEx($serverTaskData['data']);
|
||||
$serverTaskData['data']['modifytime'] = myself()->_getNowTime();
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
default:{
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
HashRateBattleData::add(json_encode($hisBattleData));
|
||||
GlobalData::addServerTaskData($serverTaskData);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user