%%----------------------------------------------------------------------------- %% @Module : limit_goal.hrl %% @Author : WJQ %% @Created : 2019-03-29 %% @Description: 限时目标头文件 %%----------------------------------------------------------------------------- %% 活动开启等级 -define(LIMIT_GOAL_LV, 120). %% 激活目标类型 -define(GOAL_ID_ONE, 1). %% 第一轮限时目标 -define(GOAL_ID_TWO, 2). %% 第二轮限时目标 %% 任务完成状态 -define(UNFINISH, 0). %% 未完成 -define(FINISH, 1). %% 已完成未领取 -define(HAS_RECEIVE, 2). %% 已领取 %% 数据库写入状态 -define(WSTATUS_SUCCESS, 1). %% 写入成功 -define(WSTATUS_WAIT, 2). %% 待写入 -define(SAVE_DB_CD, 10). %% 写入数据库CD时间(秒) %% 目标配置 -record(limit_goal_main, { goal_id = 0, %% 目标id model_name = "", %% 展示模型名称 model_id = 0, %% 展示模型id jump_cfg = [], %% 跳转配置 skill_id = 0, %% 展示技能id skill_desc = "", %% 展示技能描述 precondition = [], %% 解锁条件 activate = [], %% 激活条件 countdown = 0 %% 倒计时 }). %% 任务配置 -record(limit_goal_task, { goal_id = 0, %% 目标id task_id = 0, %% 任务id task_desc = "", %% 任务描述 finish_condition = [], %% 完成条件 reward = [], %% 任务奖励 click_jump = [] %% 点击前往配置 }). %% 星魂配置 -record(limit_goal_soul, { goal_id = 0, %% 目标id soul_id = 0, %% 星魂id soul_name = "", %% 星魂名字 need_finish = 0, %% 所需完成任务数量 attr = [] %% 星魂属性 }). %% 目标完成状态 -record(main_status, { goal_id = 0, %% 目标id status = 0, %% 完成状态 0:未完成 1:已完成未领取 2:已领取 task_list = [], %% 本目标任务完成列表 [#task_status{},...] open_time = 0 %% 目标开放时间 }). %% 任务完成状态 -record(task_status, { goal_id = 0, %% 目标id task_id = 0, %% 任务id progress = 0, %% 当前进度 status = 0, %% 完成状态 0:未完成 1:已完成未领取 2:已领取 extra = [], %% 额外数据 write_time = 0, %% 最近一次更新写入数据库的时间 write_status = 0 %% 写入状态 1:写入成功 2:待写入 }). %% 星魂状态 -record(limit_goal_soul_status, { sum_attr = 0, %% 总属性 soul_list = [] %% 星魂列表 #limit_goal_soul_list{} }). %% 星魂列表 -record(limit_goal_soul_list, { goal_id = 0, %% 目标id soul_attr = [] %% 星魂属性列表 }). %% 星魂属性 -record(limit_goal_soul_attr, { soul_id = 0, %% 星魂id attr = [] %% 星魂属性 }). %% ========================================================== SQL ========================================================== -define(SELECT_LIMIT_GOAL_MAIN, <<"SELECT `goal_id`, `status`, `open_time` FROM `limit_goal_main` WHERE `role_id` = ~p">>). -define(SELECT_LIMIT_GOAL_TASK, <<"SELECT `goal_id`, `task_id`, `progress`, `status`, `extra` FROM `limit_goal_task` WHERE `role_id` = ~p">>). -define(INSERT_LIMIT_GOAL_TASK, <<"INSERT INTO `limit_goal_task` (`role_id`, `goal_id`, `task_id`, `progress`, `status`, `extra`) VALUES (~p, ~p, ~p, ~p, ~p, '~s')">>). -define(REPLACE_LIMIT_GOAL_MAIN, <<"REPLACE INTO `limit_goal_main` (`role_id`, `goal_id`, `status`, `open_time`) VALUES (~p, ~p, ~p, ~p)">>). -define(UPDATE_LIMIT_GOAL_TASK, <<"UPDATE `limit_goal_task` SET `progress` = ~p, `status` = ~p, `extra` = '~s' WHERE `role_id` = ~p AND `goal_id` = ~p AND `task_id` = ~p">>). -define(UPDATE_LIMIT_GOAL_TASK_STATUS, <<"UPDATE `limit_goal_task` SET `status` = ~p WHERE `role_id` = ~p AND `goal_id` = ~p AND `task_id` = ~p">>).