%% ---------------------------------------------------------
%% Author:  xyao
%% Email:   jiexiaowen@gmail.com
%% Created: 2012-5-4
%% Description: 日 ,周,目标 ets
%% --------------------------------------------------------

-define(WEEK_KEY(CounterType), {mod_week, CounterType}).

-define(DEFAULT_SUB_MODULE, 0).         %% 默认模块子id设为0
-define(DEFAULT_OTHER,     []).         %% 默认other扩展数据

%% 周定时器类型
-define(WEEK_TYPE_ZERO, 0).             %% 以0点为周期的周定时器类型
-define(WEEK_TYPE_FOUR, 4).             %% 以4点为周期的周定时器类型

%% 每天记录
-record(ets_week, {
        id              = {0,0,0},      %% {模块id, 模块子id, 类型}
        count           = 0,            %% 数量
        other           = [],           %% 扩展数据
        refresh_time    = 0             %% 最后修改时间
    }).

-record(base_week, {
		module          = 0,            %% 所属模块id
        sub_module      = 0,            %% 模块子id
        id              = 0,            %% 周常id
        limit           = 0,            %% 上限
        type            = 0,            %% 周定时器类型
        about           =""             %% 描述
    }).

%% 周计数器（0点分界）
-define(SQL_WEEK_ZERO_ROLE_ALL,
        <<"SELECT `module`,`sub_module`,`type`,`count`,`other`,`refresh_time` FROM `counter_week` WHERE role_id=~p">>).
-define(SQL_WEEK_ZERO_ROLE_UPDATE,
        <<"REPLACE INTO `counter_week` (`role_id`,`module`,`sub_module`,`type`,`count`,`other`,`refresh_time`) VALUES (~p, ~p, ~p, ~p, ~p, '~ts', ~p)">>).
-define(SQL_WEEK_ZERO_ROLE_UPDATE_BATCH,
        <<"REPLACE INTO `counter_week` (`role_id`,`module`,`sub_module`,`type`,`count`,`other`,`refresh_time`) VALUES ~ts">>).

-define(SQL_WEEK_ZERO_ROLE_CLEAR,
        <<"delete from `counter_week` where `role_id` = ~p">>).
-define(SQL_WEEK_ZERO_CLEAR,
        <<"DELETE FROM `counter_week` WHERE refresh_time < ~w">>).
-define(SQL_WEEK_ZERO_ROLE,
        <<"SELECT  `count`,`refresh_time`,`other` FROM `counter_week` WHERE role_id=~p and  module = ~p and sub_module = ~p and type = ~p">>).

%% 周计数器（4点分界）
-define(SQL_WEEK_FOUR_ROLE_ALL,
        <<"SELECT `module`,`sub_module`,`type`,`count`,`other`,`refresh_time` FROM `counter_week_four` WHERE role_id=~p">>).
-define(SQL_WEEK_FOUR_ROLE_UPDATE,
        <<"REPLACE INTO `counter_week_four` (`role_id`,`module`,`sub_module`,`type`,`count`,`other`,`refresh_time`) VALUES (~p, ~p, ~p, ~p, ~p, '~ts', ~p)">>).
-define(SQL_WEEK_FOUR_ROLE_UPDATE_BATCH,
        <<"REPLACE INTO `counter_week_four` (`role_id`,`module`,`sub_module`,`type`,`count`,`other`,`refresh_time`) VALUES ~ts">>).
-define(SQL_WEEK_FOUR_ROLE_CLEAR,
        <<"delete from `counter_week_four` where `role_id` = ~p">>).
-define(SQL_WEEK_FOUR_CLEAR,
        <<"DELETE FROM `counter_week_four` WHERE refresh_time < ~w">>).
-define(SQL_WEEK_FOUR_ROLE,
        <<"SELECT  `count`,`refresh_time`,`other` FROM `counter_week_four` WHERE role_id=~p and  module = ~p and sub_module = ~p and type = ~p">>).
%%%---------------------------------------------------------------------
%%% 常量定义
%%%---------------------------------------------------------------------
