game2006api/webapp/controller/OtherController.class.php
2023-05-10 11:37:03 +08:00

59 lines
1.8 KiB
PHP

<?php
require_once('services/MissionService.php');
require_once('models/Mission.php');
require_once('models/Fragment.php');
require_once('models/Season.php');
use phpcommon\SqlHelper;
use models\Mission;
use models\Fragment;
use models\Season;
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
));
}
}