%%% -------------------------------------------------------
|
|
%%% @author huangyongxing@yeah.net
|
|
%%% @doc
|
|
%%% 游戏服活跃度管理
|
|
%%% @end
|
|
%%% -------------------------------------------------------
|
|
-ifndef(SVR_VITALITY_HRL).
|
|
-define(SVR_VITALITY_HRL, ok).
|
|
|
|
%% 活跃战力排行榜计活跃的长度 - 游戏服中使用
|
|
%% 也是上传到跨服的数据长度
|
|
-define(SVR_POWER_RANK_LEN, 50).
|
|
|
|
%% 备选数据,避免清理数据时造成空缺
|
|
-define(SVR_POWER_RANK_CANDIDATE, 10).
|
|
|
|
%% 游戏服节点排行榜实际长度
|
|
-define(RANK_REAL_LEN, ?SVR_POWER_RANK_LEN + ?SVR_POWER_RANK_CANDIDATE).
|
|
|
|
|
|
%% 阵营数据长度 - 跨服中使用
|
|
-define(CENTER_FACTION_VITALITY_ROLE_LEN, 50).
|
|
|
|
%% 活跃时间定义(距近天数)
|
|
-define(VITALITY_DAYS, 10).
|
|
|
|
%% 查询数据
|
|
-define(SQL_GET_TOP_POWER_ROLES, <<"SELECT pl.id,pl.last_login_time,pl.last_logout_time,ph.hightest_combat_power FROM player_login pl LEFT JOIN player_high ph ON pl.id=ph.id WHERE (pl.last_login_time >= ~w OR pl.last_logout_time >= ~w) ORDER BY ph.hightest_combat_power DESC LIMIT ~w"/utf8>>).
|
|
|
|
%% 猛人数据
|
|
-record(power_role, {
|
|
role_id = 0
|
|
,power = 0
|
|
,last_online = 0
|
|
}).
|
|
|
|
%% 跨服中心节点存储的游戏服数据
|
|
-record(svr_power_roles, {
|
|
server_id = 0 % 游戏服主服server_id
|
|
,power_roles = [] % #power_role{}
|
|
,update_time = 0 % 数据上传时间
|
|
}).
|
|
|
|
%% 阵营活跃数据
|
|
-record(faction_vitality, {
|
|
zone_id = 0 % 分区id
|
|
,faction = 0 % 分区阵营
|
|
,vitality = 0 % 活跃值(阵营前N名猛人战力和)
|
|
,update_time = 0 % 数据更新时间
|
|
}).
|
|
|
|
-endif.
|