|
|
- %%%-------------------------------------------------------------------
- %%% @doc 社团竞速-头文件
- %%% Module : guild_race_rank.hrl
- %%% Created : 2020-07-13
- %%% @Author : tyl
- %%%-------------------------------------------------------------------
-
- -define(ONE_HOUR_SECOND, 60*60). %% 一小时秒数
-
- -define(GUILD_TOP_RANK, [1,2,3]). %% 可获得人数扩张的社团排名
- -define(DEFAULT_END_DAY, 7). %% 默认活动结束天数
- -define(REWARD_RECEIVE_DAY, 8). %% 奖励可领取天数
-
- -define(CHANGE_TYPE_OUT, 0). %% 退出社团
- -define(CHANGE_TYPE_IN, 1). %% 进入社团
-
- %% 是否第一次发放奖励
- -define(FIRST_SEND_REWARD_NO, 0).
- -define(FIRST_SEND_REWARD_YES, 1).
-
- %% 是否已经开始结算
- -define(START_REWARD_NO, 0).
- -define(START_REWARD_YES, 1).
-
- %% 任务计算类型
- -define(TASK_TYPE_CALC, 1). %% 累计型
- -define(TASK_TYPE_REPLACE, 2). %% 替换型
-
- %% 任务状态
- -define(TASK_NOT_FINISH, 0). %% 任务未完成
- -define(TASK_FINISHED, 1). %% 任务完成
- -define(TASK_HAS_RECEIVED, 2). %% 任务奖励已领取
-
- %% 任务类型
- -define(TASK_TYPE_CREATE_GUILD, 1). %% 创建社团
- -define(TASK_TYPE_INVITE_ROLE, 2). %% 邀请玩家
- -define(TASK_TYPE_POWER_UP, 3). %% 战力提升
- -define(TASK_TYPE_LIVE_UP, 4). %% 活跃提升
- -define(TASK_TYPE_GUILD_BOSS, 5). %% 社团幻魔
-
- %% 是否已经领取奖励
- -define(NOT_RECEIVE_REWARD, 0). %% 未领取奖励
- -define(CAN_RECEIVE_REWARD, 1). %% 可领取奖励
- -define(HAS_RECEIVE_REWARD, 2). %% 已领取奖励
-
- %% 发放奖励的排名需求
- -define(SEND_REWARD_RANK_NEED, 10). %% 称号奖励
- -define(SEND_POWER_REWARD_RANK_NEED, %% 战力榜奖励(全员/团长专属)
- data_guild_race_rank:get_guild_race_rank_kv_cfg(power_rank_top)
- ).
- -define(SEND_LIVE_REWARD_RANK_NEED, %% 活跃榜奖励(全员/团长专属)
- data_guild_race_rank:get_guild_race_rank_kv_cfg(active_rank_top)
- ).
-
- %% 形象修改
- -define(FIGURE_CHANGE_NAME, 1).
- -define(FIGURE_CHANGE_VIP, 2).
- -define(FIGURE_CHANGE_SUP_VIP, 3).
-
- %% 社团竞速管理进程状态数据
- -record(guild_race_rank_state, {
- guild_rank_list = [] %% 公会排行
- ,member_rank_map = #{} %% 成员排名 #{guild_id =>[]...}
- ,old_guild_rank_list = [] %% 旧的成员排名,开服前一个小时将第一个社团扔进来(这个逻辑废弃)
- ,old_member_rank_map = #{} %% 旧的成员排名,开服前一个小时将第一个社团扔进来(这个逻辑废弃)
- ,disband_rank_list = [] %% 解散的社团列表[guild_id1,guild_id2...]
- ,leave_member_map = #{} %% 离开社团的成员#{guild_id=>[mem1,mem2]...}
- ,role_guild_map = #{} %% 第八天使用(存储第八天0点结算时玩家和社团的映射)
- ,ref = [] %% 定时器(每隔一小时发放一次奖励)
- ,start_reward = 0 %% 开始结算状态 0-未开启 1-已开启
- ,send_ref = [] %% 邮件发放定时器
- ,guild_task = #{} %% 团长任务#{guild=>[#guild_task{}...]}
- }).
-
- %% 社团榜单数据
- -record(guild_rank, {
- rank = 0 %% 排行
- ,guild_id = 0 %% 社团Id
- ,guild_name = "" %% 社团名称
- ,guild_lv = 0 %% 公会等级
- ,captain_id = 0 %% 团长Id
- ,captain_name = "" %% 团长名称
- ,limit_num = 0 %% 人数上限(包括增加人数)
- ,sum_power = 0 %% 社团总战力
- ,old_power = 0 %% 上一次结算的战力
- ,old_rank = 0 %% 上次结算的战力排行
- ,sum_live = 0 %% 社团总活跃值
- ,old_live = 0 %% 上次结算社团总活跃值
- ,live_rank = 0 %% 总活跃值排行(只存内存)
- ,old_live_rank = 0 %% 上次结算社团总活跃值排行(只存内存)
- ,time = 0 %% 社团创建时间
- ,is_first = 0 %% 是否是第一个创建社团(只存内存,重启后数据消失)
- ,create_id = 0 %% 创建者Id
- }).
-
- %% 成员榜单数据
- -record(member_rank, {
- rank = 0 %% 排名
- ,guild_id = 0 %% 社团Id
- ,role_id = 0 %% 角色Id
- ,role_name = "" %% 角色名称
- ,position = 0 %% 职位
- ,vip_lv = 0 %% vip等级
- ,sup_vip = 0 %% 特权贵族类型
- ,power = 0 %% 战力
- ,old_power = 0 %% 上一次结算的战力
- ,old_rank = 0 %% 上一次结算的排名
- ,live = 0 %% 活跃值
- ,old_live = 0 %% 上次结算活跃值
- ,received_power = 0 %% 是否已领取战力榜奖励
- ,received_live = 0 %% 是否已经领取活跃榜奖励
- ,received_captain_power = 0 %% 是否已经领取团长战力榜奖励
- ,received_captain_live = 0 %% 是否已经领取团长活跃榜奖励
- }).
-
- %% 团长任务
- -record(guild_race_rank_task, {
- task_id = 0 %% 任务Id
- ,progress = 0 %% 进度
- ,status = 0 %% 状态
- }).
-
- %% ==================================== 后台配置 ===========================
- %% 常量配置
- -record(guild_race_rank_kv_cfg, {
- id = 0 %% Id
- ,key = "" %% 键
- ,value = "" %% 值
- ,remark = "" %% 备注
- }).
-
- %% 社团竞榜结算 - 个人奖励配置
- -record(guild_race_rank_reward_cfg, {
- id = 0 %% 主键Id
- ,rank_low = 0 %% 排名下限
- ,rank_high = 0 %% 排名上限
- ,reward = [] %% 个人奖励
- ,guild_rank = 0 %% 社团排名
- }).
-
- %% 社团竞榜结算 - 社团扩张人数配置
- -record(guild_race_rank_expand_cfg, {
- day = 0 %% 天数
- ,add_mem_num = 0 %% 增加成员数量
- }).
-
- %% 任务配置
- -record(base_guild_race_rank_task, {
- id = 0 %% 任务Id
- ,sequence = 0 %% 排序
- ,task_name = "" %% 任务名称
- ,task_desc = "" %% 任务描述
- ,reward = [] %% 奖励
- ,condition = [] %% 条件
- ,client_skip= [] %% 前端跳转
- }).
-
- %% ------------------------------ 数据库操作 ------------------------------------
- -define(insert_guild_race_rank,
- <<"replace into guild_race_rank (`guild_id`, `guild_name`, `guild_lv`, `captain_id`, `sum_power`, `old_power`, `old_rank`, `old_live`, `create_id`, `time`) values (~p, '~ts', ~p, ~p, ~p, ~p, ~p, ~p, ~p, ~p)">>).
- -define(select_guild_race_rank,
- <<"select `guild_id`, `guild_name`, `guild_lv`, `captain_id`,`sum_power`,`old_power`, `old_rank`, `old_live`, `create_id`, `time` from guild_race_rank">>).
- -define(delete_guild_race,
- <<"delete from guild_race_rank where `guild_id` = ~p">>).
-
- -define(update_guild_race_rank_power,
- <<"update guild_race_rank set `sum_power` = ~p where `guild_id` = ~p">>).
- -define(update_guild_race_rank_old_rank,
- <<"update guild_race_rank set `old_rank` = ~p, `old_power` = ~p where `guild_id` = ~p">>).
- -define(update_guild_race_rank_old_live,
- <<"update guild_race_rank set `old_live` = ~p where `guild_id` = ~p">>).
-
- -define(update_guild_race_rank_guild_name,
- <<"update guild_race_rank set `guild_name` = '~ts' where `guild_id` = ~p">>).
- -define(update_guild_race_rank_guild_lv,
- <<"update guild_race_rank set `guild_lv` = ~p where `guild_id` = ~p">>).
- -define(update_guild_race_rank_captain,
- <<"update guild_race_rank set `captain_id` = ~p where `guild_id` = ~p">>).
-
- %% 成员榜相关
- -define(insert_guild_race_rank_member,
- <<"replace into guild_race_rank_member (`role_id`, `guild_id`, `position`, `old_power`, `old_rank`, `old_live`, `received_power`, `received_live`, `received_captain_power`, `received_captain_live`) values (~p, ~p, ~p, ~p, ~p, ~p, ~p, ~p, ~p, ~p)">>).
- -define(select_guild_race_rank_member,
- <<"select `role_id`, `guild_id`, `position`, `old_power`, `old_rank`, `old_live`, `received_power`, `received_live`, `received_captain_power`, `received_captain_live` from guild_race_rank_member">>).
- -define(delete_guild_race_rank_member,
- <<"delete from guild_race_rank_member where `role_id` = ~p">>).
- -define(delete_guild_race_rank_guild,
- <<"delete from guild_race_rank_member where `guild_id` = ~p">>).
- -define(update_guild_race_rank_member_position,
- <<"update guild_race_rank_member set `position` = ~p where `role_id` = ~p">>).
- -define(update_guild_race_rank_member_old_live,
- <<"update guild_race_rank_member set `old_live` = ~p where `role_id` = ~p">>).
- -define(update_guild_race_rank_member_received_power,
- <<"update guild_race_rank_member set `received_power` = ~p where `role_id` = ~p">>).
- -define(update_guild_race_rank_member_received_live,
- <<"update guild_race_rank_member set `received_live` = ~p where `role_id` = ~p">>).
- -define(update_guild_race_rank_member_received_captain_power,
- <<"update guild_race_rank_member set `received_captain_power` = ~p where `role_id` = ~p">>).
- -define(update_guild_race_rank_member_received_captain_live,
- <<"update guild_race_rank_member set `received_captain_live` = ~p where `role_id` = ~p">>).
-
- %% 玩家和社团映射
- -define(insert_guild_race_rank_role,
- <<"replace into guild_race_rank_role (`role_id`, `guild_id`) values ~ts">>).
- -define(insert_guild_race_rank_role_value,
- <<"(~p,~p)">>).
- -define(select_guild_race_rank_role,
- <<"select `role_id`, `guild_id` from guild_race_rank_role">>).
-
- %% 从社团成员表获取团长Id
- -define(select_guild_captain, <<"select id from guild_member where `position` = 1 and `guild_id` = ~p limit 1">>).
-
- %% 团长任务
- -define(insert_guild_race_rank_task,
- <<"replace into guild_race_rank_task (`guild_id`, `task_id`, `progress`, `status`) values (~p,~p,~p,~p)">>).
- -define(select_guild_race_rank_task,
- <<"select `guild_id`, `task_id`, `progress`, `status` from guild_race_rank_task">>).
- -define(update_guild_race_rank_task,
- <<"update guild_race_rank_task set `status`=~p where `guild_id`=~p and `task_id`=~p">>).
- -define(delete_guild_race_rank_task,
- <<"delete from guild_race_rank_task where `guild_id`=~p">>).
|