%%%------------------------------------------------------------------- %%% @doc 精英考核-头文件 %%% Module : elite_assessment.hrl %%% Created : 2020-07-13 %%% @Author : tyl %%%------------------------------------------------------------------- %% 章节奖励领取状态 -define(CAN_NOT_RECEIVE, 0). %% 未达条件,不可领取 -define(CAN_RECEIVE, 1). %% 可领取 -define(HAS_RECEIVED, 2). %% 已领取 -define(ELITE_WSTATUS_SUCCESS, 1). %% 写入成功 -define(ELITE_WSTATUS_WAIT, 2). %% 待写入 -define(ELITE_TASK_SAVE_DB_CD, 0). %% 写入数据库CD时间 -define(D_ELITE_ASSESS, "D_ELITE_ASSESS"). %% 进程字典key(任务数据量较大,模仿成就做法-放进程字典) -define(ELITE_TASK_COUNT, 20). %% 保底默认章节任务数量 %% 精英考核数据 -record(status_elite_assess, { category_map = #{} %% #{category => status(1)}已完成章节 - 计算得出 ,category_reward_list = [] %% [{category, status}] 章节奖励领取状态(废弃) ,progress_list = [] %% [#elite_assess{}] 保存有进度数据的成就 ,current_category = 0 %% 当前的进度章节 ,last_refresh_time = 0 %% 上次刷新时间(废弃) ,login_day = 0 %% 累计登录天数(废弃) }). -record(elite_assess, { task_id = 0 %% 任务Id ,category = 0 %% 章节 ,sub_category = 0 %% 子章节 ,progress = 0 %% 进度 ,status = 0 %% 奖励状态 0: 未达成 1: 已达成 2: 已领取 ,wtime = 0 %% 最近一次更新写入数据库的时间 ,wstatus = 0 %% 写入状态 1: 写入成功 2: 待写入 }). %% ==================================== 后台配置 =========================== %% 任务配置 -record(elite_assess_task_cfg, { category = 0 %% 章节Id ,sub_category = 0 %% 子章节Id ,task_id = 0 %% 任务Id ,content = [] %% 任务内容 ,reward = [] %% 奖励配置 ,jump = "" %% 客户端跳转 ,task_name = "" %% 任务名称 ,task_desc = "" %% 任务描述 }). %% 章节奖励配置 -record(elite_assess_reward_cfg, { category = 0 %% 章节Id ,reward = [] %% 奖励 ,client_show = "" %% 外观奖励(前端展示) ,open_lv = 0 %% 开放等级 ,open_day = 0 %% 开放天数 ,category_name = "" %% 章节名称 }). %% 任务资源配置(前端使用) -record(elite_assess_task_resource_cfg,{ task_id = 0 %% 任务Id ,task_tag = "" %% 任务标签 ,icon_name = "" %% 图标名称 ,icon_id = "" %% 图标资源Id }). %% ------------------------------ 数据库操作 ------------------------------------ %% 任务相关 -define(insert_elite_assessment, <<"replace into elite_assess_task (`role_id`, `task_id`, `progress`, `status`) values (~p, ~p, ~p, ~p)">>). -define(select_elite_assessment, <<"select `task_id`, `progress`, `status` from elite_assess_task where `role_id` = ~p">>). -define(update_elite_assess_progress, <<"update elite_assess_task set `progress` = ~p, `status` = ~p where `role_id` = ~p and `task_id` = ~p">>). -define(update_elite_assess_status, <<"update elite_assess_task set `status` = ~p where `role_id` = ~p and `task_id` = ~p">>). %% 章节奖励 -define(insert_elite_assessment_category_reward, <<"replace into elite_assess_category_reward (`role_id`, `category`, `status`) values(~p, ~p, ~p)">>). -define(select_elite_assessment_category_reward, <<"select `category`, `status` from elite_assess_category_reward where `role_id` = ~p">>). %% 累计登录天数 -define(insert_elite_assessment_login_days, <<"replace into elite_assess_login_days (`role_id`, `login_day`, `last_refresh_time`) values (~p, ~p, ~p)">>). -define(select_elite_assessment_login_days, <<"select `login_day`, `last_refresh_time` from elite_assess_login_days where `role_id` = ~p">>).