game2006api/webapp/models/RealtimeData.php
2023-08-23 16:46:07 +08:00

130 lines
3.7 KiB
PHP

<?php
namespace models;
use mt;
use phpcommon\SqlHelper;
class RealtimeData extends BaseModel {
private static $onlineNum = null;
private static $serverDays = null;
//获取在线人数
public static function getOnline()
{
if (is_null(self::$onlineNum)){
$db = self::internalGet('online_num');
self::$onlineNum = max(1, $db ? $db['value1']: 0);
}
return self::$onlineNum;
}
//获取服务器自然天数
public static function getServerDays()
{
if (is_null(self::$serverDays)){
$row = self::internalGet('open_service_time');
if ($row) {
$nowDaySeconds = myself()->_getNowDaySeconds();
$openDaySeconds = myself()->_getDaySeconds($row['value1']);
$passDays = ($nowDaySeconds - $openDaySeconds) / 3600 / 24;
self::$serverDays = 1 + max($passDays, 0);
} else {
self::$serverDays = 1;
}
}
return self::$serverDays;
}
//获取成长任务的赛季
public static function getMissionSeason(){
$db = self::internalGet('star_mission_season');
return max(1, $db ? $db['value1']: 0);
}
//设置成长任务的赛季
public static function setMissionSeason($value){
SqlHelper::upsert
(myself()->_getMysql(''),
't_realtime_data',
array(
'name' => 'star_mission_season'
),
array(
'value1' => $value,
'modifytime' => myself()->_getNowTime()
),
array(
'name' => 'star_mission_season',
'value1' => $value,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime()
)
);
}
//获取通行证的赛季
public static function getPassSeason(){
$db = self::internalGet('battle_pass_season');
return max(1, $db ? $db['value1']: 0);
}
//设置通行证的赛季
public static function setPassSeason($value){
SqlHelper::upsert
(myself()->_getMysql(''),
't_realtime_data',
array(
'name' => 'battle_pass_season'
),
array(
'value1' => $value,
'modifytime' => myself()->_getNowTime()
),
array(
'name' => 'battle_pass_season',
'value1' => $value,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime()
)
);
}
//获取排位的赛季
public static function getRankSeason(){
$db = self::internalGet('ranking_season');
return max(0, $db ? $db['value1']: 0);
}
//设置排位的赛季
public static function setRankSeason($value){
SqlHelper::upsert
(myself()->_getMysql(''),
't_realtime_data',
array(
'name' => 'ranking_season'
),
array(
'value1' => $value,
'modifytime' => myself()->_getNowTime()
),
array(
'name' => 'ranking_season',
'value1' => $value,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime()
)
);
}
private static function internalGet($name)
{
$row = SqlHelper::ormSelectOne
(myself()->_getMysql(''),
't_realtime_data',
array(
'name' => $name
)
);
return $row ? $row : '';
}
}