game2006api/webapp/controller/HashRateController.class.php
2024-07-31 14:18:52 +08:00

109 lines
4.4 KiB
PHP

<?php
require_once('services/HashRateService.php');
require_once('mt/AchievementsPower.php');
require_once('mt/AchievementsCycle.php');
require_once('models/HashRate.php');
use models\HashRate;
class HashRateController extends BaseAuthedController
{
private $hashRateService = null;
public function _handlePre()
{
parent::_handlePre();
$this->hashRateService = new services\HashRateService();
$this->hashRateService->init();
}
public function info(){
$mateList = \mt\AchievementsPower::getMetaList();
$currentPeriod= \mt\AchievementsCycle::getCurrentPeriod();
$info = array(
'list' => array(),
'obtain_start_time' => 0,
'obtain_end_time' => 0,
'income_start_time' => 0,
'income_end_time' => 0,
'state' => 0,
'myHashRate' => 0,
);
if ($currentPeriod){
foreach ($mateList as $mate) {
$temp = $this->hashRateService->hashRateTaskDto($mate);
array_push($info['list'], $temp);
}
$obtain_start_time = strtotime($currentPeriod['obtain_start_time']);
$obtain_end_time = strtotime($currentPeriod['obtain_end_time']);
$income_start_time = strtotime($currentPeriod['income_start_time']);
$income_end_time = strtotime($currentPeriod['income_end_time']);
$info['obtain_start_time'] = $obtain_start_time;
$info['obtain_end_time'] = $obtain_end_time;
$info['income_start_time'] = $income_start_time;
$info['income_end_time'] = $income_end_time;
if(myself()->_getNowTime() >= $obtain_start_time && myself()->_getNowTime() <= $obtain_end_time){
$info['state'] = 1;
}elseif (myself()->_getNowTime() >= $income_start_time && myself()->_getNowTime() <= $income_end_time){
$info['state'] = 2;
}
$info['myHashRate'] = HashRate::getMyHashRate( $currentPeriod['id']);
}
$this->_rspData($info);
}
public function taskList(){
$type = getReqVal('type', 1);
$taskDtoList1 = array();
$taskDtoList2 = array();
$obtain_start_time = 0;
$obtain_end_time = 0;
$income_start_time = 0;
$income_end_time = 0;
$state = 0;
$currentPeriod= \mt\AchievementsCycle::getCurrentPeriod();
if ($currentPeriod){
$mateList = \mt\AchievementsPower::getCustomTypeMetaList($type,$this->hashRateService);
foreach ($mateList as $mate) {
$taskDb = HashRate::find($mate['id'],$currentPeriod['id']);
$temp = $this->hashRateService->hashRateTaskDto($mate,$taskDb);
array_push($taskDtoList1, $temp);
}
$mateList2 = \mt\AchievementsPower::getListByType(0);
foreach ($mateList2 as $mate) {
$taskDb = HashRate::find($mate['id'],$currentPeriod['id']);
$temp = $this->hashRateService->hashRateTaskDto($mate,$taskDb);
array_push($taskDtoList2, $temp);
}
$obtain_start_time = strtotime($currentPeriod['obtain_start_time']);
$obtain_end_time = strtotime($currentPeriod['obtain_end_time']);
$income_start_time = strtotime($currentPeriod['income_start_time']);
$income_end_time = strtotime($currentPeriod['income_end_time']);
if(myself()->_getNowTime() >= $obtain_start_time && myself()->_getNowTime() <= $obtain_end_time){
$state = 1;
}elseif (myself()->_getNowTime() >= $income_start_time && myself()->_getNowTime() <= $income_end_time){
$state = 2;
}
}
$this->_rspData(array(
'task_list1' => $taskDtoList1,
'task_list2' => $taskDtoList2,
'obtain_start_time' => $obtain_start_time,
'obtain_end_time' => $obtain_end_time,
'income_start_time' => $income_start_time,
'income_end_time' => $income_end_time,
'state' => $state,
));
}
public function commitTask(){
$taskId = getReqVal('task_id', 0);
$taskMeta = \mt\AchievementsPower::find($taskId);
if (!$taskMeta) {
$this->_rspErr(1, 'task_id error');
return;
}
}
}