39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace services;
|
|
|
|
require_once('mt/Rank.php');
|
|
require_once('mt/Season.php');
|
|
require_once('models/User.php');
|
|
|
|
use models\User;
|
|
|
|
class SeasonService extends BaseService {
|
|
|
|
public function checkSeason($userInfo)
|
|
{
|
|
$initRankMeta = mt\Rank::getInitRank();
|
|
$currRankMeta = mt\Rank::get($userInfo['rank']);
|
|
$dropRankMeta = mt\Rank::get($currRankMeta ? $currRankMeta['drop_rank'] : 0);
|
|
$currSeasonMeta = mt\Season::getCurrentSeason();
|
|
if ($currSeasonMeta && $currSeasonMeta['id'] != $userInfo['last_season_id']) {
|
|
//掉档
|
|
if ($dropRankMeta) {
|
|
myself()->_updateUserInfo(array(
|
|
'rank' => $dropRankMeta['rank'],
|
|
'score' => $dropRankMeta['min_score'],
|
|
));
|
|
}
|
|
}
|
|
if ($initRankMeta && $userInfo['rank'] < $initRankMeta['rank']) {
|
|
myself()->_updateUserInfo(array(
|
|
'rank' => $initRankMeta['rank'],
|
|
'score' => $initRankMeta['min_score'],
|
|
));
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
}
|