%%% -------------------------------------------------------
%%% @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.
