源战役
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 

153 行
5.9 KiB

%%% @author root <root@localhost.localdomain>
%%% @copyright (C) 2018, root
%%% @doc
%%%
%%% @end
%%% Created : 3 Feb 2018 by root <root@localhost.localdomain>
%% 称号操作
-define(OP_ACTIVE, 1). %% 系统激活
-define(OP_REMOVE, 2). %% 移除
-define(OP_REPLACE, 3). %% 顶替
-define(OP_PROP, 4). %% 道具激活
%% 称号状态
-define(STATUS_UNUSED, 0). %% 没有佩戴
-define(STATUS_USED, 1). %% 佩戴中
%% 结果
-define(CODE_FAIL, 0). %% 失败
-define(CODE_OK, 1). %% 成功
-record(base_designation, {
id = 0, %% 称号id
name = "", %% 称号名称
main_type = 0, %% 1-名人称号,2-成就称号,3情缘称号,4-活动称号
description = "", %% 描述
type = 1, %% 默认1,1图片称号,2文字称号
is_trial = 0, %% 是否可体验 默认是0
goods_id = 0, %% 道具激活的称号对应的物品ID,默认0
attr_list = [], %% 属性奖励,格式:[{属性1,数值},{属性2,数值}……]
resource_id = 0, %% 称号对应的资源ID,文字称号填0
is_global = 0, %% 全局称号数量,0表示无限制
color = 0, %% 称号名称显示的颜色,前端使用
power = 0, %% 战力显示
access_way = "", %% 获取途径
access_id = [], %% 获取途径id
index = 0 %% 排序字段
,force_cancel %% 是否可以强制取消
}).
%% 限时称号体验配置
-record(base_dsgt_trial, {
goods_id = 0, %% 物品id
dsgt_id = 0, %% 称号id
trial_time = 0, %% 体验时间
is_overlay = 0 %% 是否可叠加 0|1
}).
-record(dsgt_status, {
player_id = 0, %% 玩家id
%% current_id = 0, %% 玩家当前佩戴的称号id
dsgt_map = #{}, %% 当前玩家激活的称号列表 id => #designation
attr = [], %% 当前所有激活称号的属性状态 []
power = 0 %% 战力
}).
-record(designation, {
id = 0, %% 称号id
status = 0, %% 称号当前状态
active_time = 0, %% 激活时间戳
end_time = 0, %% 过期时间
time = 0, %% 操作时间
dress_time = 0, %% 穿戴时间
is_replace = 1 %% 0被顶替 1为顶替 %% 非全局称号默认1,全局称号只有穿戴时是1,被替换时为0
}).
-record(active_para, {
id = 0, %% 称号id
goods_id = 0, %% 物品id
expire_time = 0, %% 称号持续时长
is_overlay = 0 %% 是否可叠加
}).
%% 获取正在佩戴的称号id
-define(SQL_DSGT_SEL_USED_ID,
<<"select id from `designation` where player_id=~p and status=1 limit 1">>).
%% 获取玩家所有的称号id
-define(SQL_DSGT_SEL_ID,
<<"select id from `designation` where player_id=~p">>).
%% 获取一个称号的佩戴状态和时效时间
-define(SQL_DSGT_SEL_STATUS,
<<"select status, endtime from `designation` where player_id=~p and id=~p and is_replace =1">>).
%% Rep更新玩家称号
-define(SQL_DSGT_REPLACE,
<<"replace into `designation` set player_id=~p, id=~p, status=~p, active_time=~p, endtime=~p, time=~p,dress_time = ~p,is_replace =~p">>).
%% Up更新玩家称号
-define(SQL_DSGT_UP,
<<"update designation set status=~p, active_time=~p, endtime=~p, time = ~p ,dress_time = ~p, is_replace = ~p where player_id = ~p and id=~p ">>).
-define(SQL_DSGT_UP_DRESSTIME,
<<"update designation set status=~p, active_time=~p, endtime=~p, time = ~p ,dress_time = ~p where player_id = ~p and id=~p ">>).
-define(SQL_DSGT_UPDATE_STATUS,
<<"update designation set status=~p where player_id = ~p and id=~p">>).
-define(SQL_DSGT_UPDATE_ACTIVE_AND_END_TIME,
<<"update designation set active_time=~p, endtime=~p, is_replace=~p where player_id=~p and id=~p">>).
%% 删除
-define(SQL_DSGT_AUTOID_BATCH_DELETE,
<<"delete from `designation` where player_id=~p and id in (~s) ">>).
%% 获取玩家所有的称号
-define(SQL_All_DSGT_SELECT,
<<"select id, status, active_time, endtime, time, dress_time, is_replace from `designation` where player_id=~p ">>).
%获取玩家某条称号
-define(SQL_ONE_DSGT_SELECT,
<<"select id, status, active_time, endtime, time,dress_time,is_replace from `designation` where player_id=~p and id =~p">>).
%% 获取所有获得同一个称号的玩家
-define(SQL_DSGT_PLAYER_SELECT,
<<"select player_id, active_time, is_replace from `designation` where id=~p">>).
%% 删除玩家的称号
-define(SQL_DSGT_DELETE,
<<"delete from `designation` where player_id=~p and id = ~p">>).
%% 只更新使用状态
-define(SQL_DSGT_STATE_UP,
<< "update designation set status=~p, time = ~p ,dress_time = ~p where player_id = ~p and id=~p">>).
%% 只更新顶替和使用状态
-define(SQL_DSGT_STATE_ISREPLACE_UP,
<< "update designation set status=~p, time = ~p ,is_replace = ~p where player_id = ~p and id=~p">>).
%% 更新称号结束时间
-define(SQL_DSGT_UPDATE_ETIME,
<< "update designation set endtime = ~p, time = ~p where id = ~p and player_id in (~s)">>).
%%获取穿戴记录
-define(SQL_SELECT_LASTDRESS,
<<"select id from `designation` where player_id=~p and dress_time > 0 and status=1">>).
%获取穿戴历史记录
-define(SQL_SELECT_DRESS_HISTORY,
<<"select id,dress_time from `designation` where player_id=~p and id = ~p and dress_time > 0">>).