_setV(TN_SERVER_TASK_STATE,0,\mt\ServerTask::NOT_ACCOMPLISH_STATE); $this->_rspErr(111, 'The activity has not started yet'); return; } $taskDtoList1 = array(); $taskDtoList2 = 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); } if ($taskMeta['type'] == \mt\ServerTask::PVP_TYPE){ $taskDto = $hashRateService->serverTaskDto($taskMeta); array_push($taskDtoList2,$taskDto); } } $mobaCount = 0; $pvpCount = 0; foreach ($taskDtoList1 as $taskDto){ if ($taskDto['state'] == \services\HashRateService::FINISHED_STATE){ $mobaCount += 1; } } foreach ($taskDtoList2 as $taskDto){ if ($taskDto['state'] == \services\HashRateService::FINISHED_STATE){ $pvpCount += 1; } } if ($mobaCount == count($taskDtoList1)){ myself()->_setV(TN_SERVER_TASK_STATE,0,\mt\ServerTask::ACCOMPLISH_MOBA_STATE); } if ($pvpCount == count($taskDtoList2)){ myself()->_setV(TN_SERVER_TASK_STATE,0,\mt\ServerTask::ACCOMPLISH_PVP_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' => myself()->_getV(TN_SERVER_TASK_STATE,0), 'drop_state' => $drop_state, 'taskDtoList1' => $taskDtoList1, 'taskDtoList2' => $taskDtoList2, )); } }