game2006api/webapp/controller/OtherController.class.php
aozhiwei 895a4557fa 1
2023-08-24 16:16:39 +08:00

117 lines
3.5 KiB
PHP

<?php
require_once('services/MissionService.php');
require_once('mt/RankSeason.php');
require_once('mt/HashRateCommon.php');
require_once('models/Mission.php');
require_once('models/Fragment.php');
require_once('models/Season.php');
require_once('models/SignLog.php');
require_once('models/RankingSetRecord.php');
use models\SignLog;
use phpcommon\SqlHelper;
use models\Mission;
use models\Fragment;
use models\Season;
use models\RankingSetRecord;
class OtherController extends BaseAuthedController {
const MISSION = 1;
const PIECE = 2;
public function tag()
{
$param = getReqVal('param', 0);
$req = array(
'mission' => 0,
'piece' => array(),
);
switch ($param){
case self::MISSION : {
$userInfo = $this->_safeGetOrmUserInfo();
// $currRankSeasonMeta = mt\RankSeason::getCurrentSeason();
// $seasonDb = Season::find($currRankSeasonMeta['id']);
$missionService = new services\MissionService();
$missionService->init($userInfo, null);;
$missionMetaList = mt\Task::getCustomTypeMetaList(1, $missionService);
$missionHash = Mission::allToHash();
foreach ($missionMetaList as $missionMeta) {
$missionDb = getXVal($missionHash, $missionMeta['id'], null);
$missionDto = $missionService->getMissionDto('', '', $missionDb, $missionMeta);
if ($missionDto['state'] == Mission::RECEIVEABLE_STATE){
$req['mission'] = 1;
break;
}
}
}
break;
case self::PIECE : {
$req['piece'] = Fragment::isSatisfy();
}
break;
default:{
$req = array(
'mission' => 0,
'piece' => array(),
);
}
}
$this->_rspData(array(
'data'=>$req
));
}
public function getGameModuleState(){
//七日签到
$signState = 0;
$signDb = SignLog::find();
if($signDb['days'] >= 7 && $signDb['is_receive'] == 1){
$signState = 1;
}
//排位
$rankState = 0;
$currSeasonMeta = mt\RankSeason::getCurrentSeason();
if($currSeasonMeta){
$rankState = 1;
}
$countdown = 0;
$nextCurrSeasonMeta = mt\RankSeason::getNextCurrentSeason();
if ($nextCurrSeasonMeta){
$countdown = strtotime($nextCurrSeasonMeta['start_time']) - myself()->_getNowTime();
}
//算力
$hashRateState = 0;
$hashRateMeta = \mt\HashRateCommon::find(1);
if (myself()->_getNowTime() > strtotime($hashRateMeta['start_time'])){
$hashRateState = 1;
}
$data = array(
"firstTopUp" => myself()->_getV(TN_FIRST_TUPOP_STATUS,0),
"signDayState" => $signState,
"rankState" => $rankState,
"nextRankSeasonCountdown" => $countdown,
"hashRateState" => $hashRateState,
);
$this->_rspData(array(
'data'=>$data
));
}
public function getRankingState(){
$recordDb = RankingSetRecord::find();
$data = array(
'state' => 0 ,
);
if ($recordDb){
$data = RankingSetRecord::toDto($recordDb);;
}
$this->_rspData(array(
'data'=>$data
));
}
}