%%%--------------------------------------
%%% @Author  : yxf
%%% @Email   : jiexiaowen@gmail.com
%%% @Created : 2017.11.8
%%% @Description: vip

%% 常量
-define(VIP_NORMAL, 0).     %% 非体验VIP或正常VIP
-define(VIP_TRIAL,  1).     %% 体验式VIP

-define(TRIAL_VIP_LV, 1).   %% 体验式VIP默认等级

-define(VIP_CAN_BUY, 1).
-define(VIP_BUYED,   2).

%% VIP经验卡
-define(VIP_GOODS_1, 102005).
-define(VIP_GOODS_2, 102006).
-define(VIP_GOODS_3, 102007).

%% VIP体验卡
-define(VIP_TRIAL_GOODS, [
    G || {G, _, _} <- data_vip:get_cfg(2)]).

-define(VIP_EXP_GOODS, [
    G || {G, _} <- data_vip:get_cfg(1)
    ]).

-define(VIP_TITLE, 4500001).
-define(VIP_CONTENT, 4500002).

%% vip日志
-define(VIP_LOG_0, 0). %% 激活体验
-define(VIP_LOG_1, 1). %% 激活永久
-define(VIP_LOG_2, 2). %% 体验过期
-define(VIP_LOG_3, 3). %% 永久普通升级

%% 贵族日志操作类型
-define(SUP_VIP_LOG_0, 0). %% 激活体验贵族
-define(SUP_VIP_LOG_1, 1). %% 总充值激活永久贵族
-define(SUP_VIP_LOG_2, 2). %% 连续充值激活永久贵族
-define(SUP_VIP_LOG_3, 3). %% 体验贵族过期

%% 贵族兑换操作类型
-define(SUP_VIP_EXCHANGE_1, 1). %% 彩钻兑换
-define(SUP_VIP_EXCHANGE_2, 2). %% 培养丹兑换
-define(SUP_VIP_EXCHANGE_3, 3). %% 商城

%% 禁跳神技
-define(SUPVIP_FORBID_JUMP_SKILL, 109101).

%% 日计数器

%%--------------------
%% vip
%% -------------------
%% 货币日产出限制
-define(VIP_DAILY_CURRENCY_LIMIT, 1).

-define(FUNC_TYPE_VIP_1,          1).

%% -------------------
%% 贵族
%% -------------------
%% 礼包领取&彩钻日常兑换
-define(SUP_VIP_DAILY_EXCHANGE,   1).
%% 日常限购
-define(SUP_VIP_DAILY_BUY_LIMIT,  2).

%% 周计数器

%% -------------------
%% 贵族
%% -------------------
%% 周限购
-define(SUP_VIP_WEEK_BUY_LIMIT, 1).


%% 终身计数器

%% -------------------
%% 贵族
%% -------------------
%% 终身限购
-define(SUP_VIP_PER_BUY_LIMIT,  1).

%% 贵族vip要求
-define(SUP_VIP_LIMIT,  1).

%% 贵族类型
-define(NO_SUP_VIP,     0).         %% 无类型
-define(TRIAL_SUP_VIP,  1).         %% 体验
-define(PER_SUP_VIP,    2).         %% 永久

%% 兑换类型
-define(SUP_VIP_GIFT_EXCHANGE, 1).
-define(SUP_VIP_GOLD_EXCHANGE, 2).
-define(SUP_VIP_FOSTER_GOODS_EXCHANGE, 3).

%% 贵族商城限购类型
-define(SUP_VIP_LIMIT_DAILY, 1).
-define(SUP_VIP_LIMIT_WEEK,  2).
-define(SUP_VIP_LIMIT_PERMANENT, 3).

%% 贵族商城道具类型
-define(SUP_VIP_SOTRE_DEFAULT, 1).
-define(SUP_VIP_STORE_LOCK,    2).

%% 
-define(FUNC_TYPE_SUP_VIP_1,   1).

%%用户vip状态信息
-record(vip_status, {
        trial_lv = 0,               %% 体验VIP等级
        lv = 0,                     %% 真实vip等级
        exp = 0,                    %% 真实vip经验 当前等级不足升到下一级的结余经验
        type = 0,                   %% 0非体验式|1体验式
        endtime = 0,                %% vip体验结束时间 超时清0
        sup_vip = undefined         %% 贵族
    }).

%% 钻石vip状态信息
-record(role_sup_vip, {
    type = 0,                       %% 是否永久 0无类型|1体验|2永久
    continue_charge_days = 0,       %% 体验钻石vip期间已连续充值XX元天数
    today_charge = 0,               %% 今日已充值数
    last_time = 0,                  %% 最近一次充值时间
    total_charge = 0,               %% 体验钻石vip期间总充值量
    end_time = 0,                   %% 体验钻石vip结束时间
    unlock_ids = [],                %% 商城当前已购买解锁序列
    today_star = 0,                 %% 今日星钻
    update_time = 0,                %% 更新时间
    login_rewards = [],             %% 7天登录奖励 [{day, reward_time, reward_state}]
    last_reward_rec = 0             %% 再次领取的礼包补发检测时间
    }).

%%%---------------------------vip base config----------------------------------
%% vip特权配置
-record(base_vip_privilege, {
    lv = 0,                         %% vip等级
    class_id = 0,                   %% 功能id
    subclass_id = 0,                %% 功能子id
    type = 0,                       %% 特权类型id
    describe = "",                  %% 特权描述
    value = 0,                      %% 特权数值
    can_try = 0                     %% 是否可试用 0|1
    }).

%% vip等级配置
-record(base_vip_cfg, {
    lv = 0,                         %% vip等级
    name = "",                      %% 名称
    type = 0,                       %% vip类型
    gold = 0,                       %% 累计元宝(vip等级经验和元宝1比1等价)
    reward = [],                    %% 奖励
    daily_gold_limit = 0,           %% 每日获得元宝上限
    daily_bgold_limit = 0           %% 每日获得绑元上限
    }).

%% vip礼包配置
-record(base_vip_gift, {
    vip_lv = 0,                     %% vip等级
    gift_reward = [],               %% 礼包奖励
    cur_type = 0,                   %% 货币类型
    price = 0,                      %% 原价
    cur_price = 0,                  %% 现价
    dicount = 0                     %% 折扣
    }).

%% 贵族vip商城配置
-record(base_sup_vip_store, {
    goods_id = 0,                   %% 道具id
    type = 0,                       %% 道具类型
    index = 0,                      %% 商店排序
    limit_buy = [],                 %% 限购
    price = [],                     %% 价格
    lv = []                         %% 等级段
    }).

%% 贵族兑换配置
-record(base_sup_vip_exchange, {
    goods_id = 0,                   %% 道具id
    min_vip = 0,                    %% vip下限
    max_vip = 0,                    %% vip上限
    price = [],                     %% 消耗
    count = 0                       %% 兑换次数
    }).

-define (BASE_SVIP_LOGIN_REWARD_DAY, 7).


-define(SELECT_ROLE_VIP_LV, 
    <<"SELECT real_lv FROM role_vip WHERE role_id = ~p">>).
-define(SELECT_ROLE_VIP, 
    <<"SELECT lv, real_lv, exp, type, endtime FROM role_vip WHERE role_id = ~p">>).
-define(REPLACE_ROLE_VIP, 
    <<"REPLACE INTO role_vip SET role_id = ~p, lv = ~p, real_lv = ~p, exp = ~p, type = ~p, endtime = ~p">>).

-define(SELECT_ROLE_SUP_VIP, 
    <<"SELECT type, continue_charge_days, today_charge, last_time, total_charge, end_time, unlock_ids, today_star, update_time, login_rewards, last_reward_rec FROM role_sup_vip WHERE role_id = ~p">>).
-define(SELECT_ROLE_SUP_VIP_TYPE, 
    <<"SELECT type, end_time FROM role_sup_vip WHERE role_id = ~p">>).
-define(REPLACE_ROLE_SUP_VIP, 
    <<"REPLACE INTO role_sup_vip SET role_id = ~p, type = ~p, continue_charge_days = ~p, today_charge = ~p, last_time = ~p, total_charge = ~p, end_time = ~p, unlock_ids = ~ts, today_star = ~p, update_time = ~p, login_rewards = ~ts, last_reward_rec = ~p">>).