%% ---------------------------------------------------------------------------
%% @doc guild.hrl

%% @author  hjh
%% @email  hejiahua@163.com
%% @since  2016-12-19
%% @deprecated 公会
%% ---------------------------------------------------------------------------

%% @说明
%%20201215补充
%%社团等级创建初始化,社团活跃(劳务)任务可增加社团经验 满足则自动升级
%%call进程判断的时候最好在玩家进程,不要在公会进程
%%社团贡献 TYPE_GFAME 8  100004

%% ----------------------- 进程字典定义 -----------------------
%% 公会数据较大,使用进程State会导致存储和读取的性能差,目前使用进程字典来避免.

%% 公会进程的进程字典
-define(P_GUILD, "P_Guild"). % 公会Maps Value:#{GuildId => #guild{} }
-define(P_GUILD_MEMBER(GuildId), lists:concat(["P_Guild_Member_", GuildId])).   % 公会玩家Maps Value:#{MemberId => #guild_member{}}
-define(P_MEMBER_GUILD_ID, "P_Member_Guild_Id").  % 成员和公会id的Maps Value:#{玩家id => 公会id}
-define(P_GUILD_DEPOT, "P_Guild_Depot"). % 公会仓库
-define(P_GUILD_SKILL, "P_Guild_Skill"). % 公会技能

% -define(P_GUILD_BUILDING_LV(GuildId), lists:concat(["P_Guild_Building_Lv_", GuildId])).   % 建筑 Value:#{BuildingType => BuildingLv}
-define(P_POS_PERMISSION(GuildId), lists:concat(["P_Pos_Permission_", GuildId])).   % 职位权限 Value:#{Pos => #{PermissionType=IsAllow} }
-define(P_POS_NAME(GuildId), lists:concat(["P_Pos_Name_", GuildId])).   % 职位名字 Value:#{Pos => PositionName}

-define(P_GUILD_APPLY, "P_Guild_Apply").    % Value:#{ {RoleId, GuildId} => #guild_apply{} }
-define(P_GUILD_APPLY_GUILD, "P_Guild_Apply_Guild").  % Value:{GuildId => [RoleId|...]}

-define(P_GUILD_MERGE_GUILD, "P_Guild_Merge_Guild").
-define(P_GUILD_SUPPORT(GuildId), lists:concat(["P_Guild_Support_", GuildId])).            % 公会协助

%% 玩家进程dict拼单感谢信和记录相关key
-define(P_GUILD_ORDER_THANK, guild_order_thank). % 公会拼单礼包
-define(P_GUILD_ORDER_LOG, guild_order_log).     % 公会拼单记录

% -define(P_GUILD_WAR_SHINE_BUY(GuildId), lists:concat(["P_Guild_War_Shine_Buy_", GuildId])).    % 公会祭坛购买 Value:#guild_war_shine_buy{}
% -define(P_GUILD_WAR_SHINE_MACHINE(GuildId), lists:concat(["P_Guild_War_Shine_Machine_", GuildId])). % Value: [{MachineId, Num}|...]

-define(P_GUILD_DONATE_LOG(GuildId), lists:concat(["P_GUILD_DONATE_LOG_", GuildId])).   % 捐献日志 Value:[{CfgId, Name, DonateNum, Gfunds, Time}|..]

%% ----------------------- 职位定义(#guild_member.position/.sec_position) -----------------------
-define(POS_CHIEF, 1).          % 会长
-define(POS_DUPTY_CHIEF, 2).    % 副会长
-define(POS_DIRECTOR, 3).       % 长老
-define(POS_ELITE, 4).          % 精英
-define(POS_NORMAL, 5).         % 普通成员 默认是普通成员
-define(POS_AGENT, 6).          % 代理团长

%% ----------------------- 职位变更类型  -------------------------------
-define(POS_LOG_JOIN, 0).           % 加入社团
-define(POS_LOG_CHIEF, 1).          % 成为团长
-define(POS_LOG_DUPTY_CHIEF, 2).    % 成为副团长
-define(POS_LOG_ELITE, 3).          % 成为骨干
-define(POS_LOG_BABY, 4).           % 成为活宝
-define(POS_LOG_NORMAIL, 5).        % 成为普通成员
-define(POS_LOG_AGENT, 6).          % 成为代理团长
-define(POS_LOG_QUIT, 7).           % 离开社团


%%社团合并相关
-define(MERGE_APPLY, 1).  %%申请合并
-define(MERGE_AGREE, 2).  %%同意合并
-define(MERGE_REFUSE, 3).  %%拒绝合并


%% 徽章特性,详情看后台配置
-define(GBADGE_CASH,           1).     %%分红税率降低
-define(GBADGE_CONTRIBUTE,     2).     %%社团贡献增加
-define(GBADGE_REPUTATION,     3).     %%名望值收益
-define(GBADGE_BOSS,           4).     %%社团BOSS伤害
-define(GBADGE_ATTR,           5).     %%徽章属性

%日志内容
%1.玩家加入
%2.玩家活跃记录
%3.职位变更
%4.社团升级

%% 职位(用于初始化职位名字和职位权限列表)
-define(POS_LIST, [
        ?POS_NORMAL
        , ?POS_ELITE
        , ?POS_DIRECTOR
        , ?POS_DUPTY_CHIEF
        , ?POS_CHIEF
        , ?POS_AGENT
    ]).

%% 能被任命的职位
-define(BE_APPOINT_POS_LIST, [
        ?POS_NORMAL
        , ?POS_ELITE
        , ?POS_DIRECTOR
        , ?POS_DUPTY_CHIEF
    ]).

%% 能被修改权限的职位列表
-define(MODIFIED_PERMISSION_POS_LIST, [
        ?POS_BABY
        , ?POS_DIRECTOR
        , ?POS_DUPTY_CHIEF
    ]).

%% ----------------------- 权限(permission) -----------------------
-define(PERMISSION_APPROVE_APPLY, 1).               % 审批申请
-define(PERMISSION_APPOINT_POS, 2).                 % 任命职位
-define(PERMISSION_FIRE_MEMBER, 3).                 % 开除成员
-define(PERMISSION_MODIFY_TENET_AND_ANNOUNCE, 4).   % 宣言/公告修改
-define(PERMISSION_APPROVE_SETTING, 5).             % 审批设置
-define(PERMISSION_RENAME,          6).             % 改名
-define(PERMISSION_GUILD_MERGE,     7).             % 社团合并

%% 可修改的权限列表
-define(MODIFIABLE_PERMISSION_LIST, [
        ?PERMISSION_APPROVE_APPLY
        , ?PERMISSION_FIRE_MEMBER
    ]).

%% ----------------------- #guild.apply_type -----------------------
-define(APPROVE_TYPE_AUTO, 0).          % 自动
-define(APPROVE_TYPE_MANUAL, 1).        % 手动

%% ----------------------- permission_type is_allow -----------------------
-define(IS_ALLOW_NO, 0).                % 不允许使用该权限
-define(IS_ALLOW_YES, 1).               % 允许

%% ----------------------- 搜索和匹配 -----------------------

%% 公会成员的搜索
%% search_guild_memer
-define(sgm_default, 0).                % 默认
-define(sgm_lv, 1).                     % 等级
-define(sgm_guild_pos, 2).              % 公会职位
-define(sgm_donate, 3).                 % 贡献
-define(sgm_liveness, 4).               % 活跃度
-define(sgm_online_pos_lv, 5).          % 根据在线,职位,等级降序(40006默认)
-define(sgm_pos_donate_lv_liveness, 6). % 根据职位,贡献,等级,活跃度降序(40008默认)
-define(sgm_pos_lv_donate, 7).          % 根据职位,等级,贡献降序(40016默认)

-define(sort_flag_desc, 0).             % 降序
-define(sort_flag_asc, 1).              % 升序

-define(member_type_all, 0).            % 所有成员
-define(member_type_online, 1).         % 在线成员
-define(member_type_logout, 2).         % 离线成员

%% search 的 特殊类型
-define(s_special_type_normal, 0).         % 正常
-define(s_special_type_take_me_first, 1).  % 提取自己在最前面
-define(s_special_type_del_me, 2).         % 移除自己

-define(MANUAL_APPOINT, 1).                 % 手动任命会长
-define(AUTO_APPOINT, 2).                   % 自动任命会长

-define(CREATE_GUILD, 1).                   % 创建公会
-define(DISBAND_REASON_MERGE, 2).           % 社团合并
-define(DISBAND_REASON_CHIEF, 3).           % 会长解散公会
-define(DISBAND_REASON_MEMBER_NUM,4).       % 人数达不到要求自动解散
-define(DISBAND_REASON_ACTIVITY, 5).        % 活跃度不足自动解散
-define(DISBAND_REASON_CHIEF_QUIT, 6).      % 会长退出公会
-define(DISBAND_REASON_GM, 7).              % GM解散公会
-define(DISBAND_REASON_FUNDS, 8).           % 社团管理资金不足自动解散

%% ----------------------- 事件定义 -----------------------

-define(GEVENT_APPOINT_POSITION_TO_CHIEF, 1).       % 任命成会长
-define(GEVENT_APPOINT_POSITION_TO_OTHER, 2).       % 任命成其他职位(除了会长，领袖，学徒)
-define(GEVENT_RENAME_POSITION, 3).                 % 修改职位称谓
-define(GEVENT_BECOME_NORAML_AF_APPOINT_OTHER_TO_CHIEF, 4).     % 在任命其他人为会长后旧会长第一职位变成普通成员
-define(GEVENT_CREATE_GUILD, 5).                   % 创建公会
-define(GEVENT_QUIT, 6).                           % 主动退出
-define(GEVENT_KICK_OUT, 7).                       % 被踢出公会
-define(GEVENT_UPGRADE_GUILD, 8).                  % 升级公会
-define(GEVENT_RENAME,          9).                % 公会改名
-define(GEVENT_JOIN_GUILD, 10).                    % 加入公会

%% ----------------------- 日志定义 -----------------------

-define(SEPARATOR_STRING, "=>").

-define(GLOG_CREATE, 1).                % 创建公会
-define(GLOG_JOIN, 2).                  % 加入公会
-define(GLOG_KICK_OUT, 3).              % 踢出公会
-define(GLOG_POS_CHANGE, 4).            % 职位变动
-define(GLOG_DISBAND, 5).               % 解散公会
-define(GLOG_QUIT, 6).                  % 主动退出公会
-define(GLOG_AUTO_CHIEF, 7).            % 自动任命会长
-define(GLOG_MERGE, 8).                 % 社团合并
% -define(GLOG_DONATE, 7).                % 捐献

%% ----------------------- 其他定义 -----------------------
-define(GUILD_PID, mod_guild). % 公会进程

-define(NEED_SQL_TYPE, 1).                          % 需要操作sql
-define(NO_SQL_TYPE,   2).                          % 不需要操作sql

-define(MAX_SMALLINT, 65535).                       % 最大的smallint数值
-define(MAX_INT, 4294967295).                       % 最大的int数值

-define(CAL_GUILD_POWER_VAILD_TIME, 86400 * 2).     % 超过这个离线时间不计入公会战力
-define(AUTO_DISBAND_OFFLINE_TIME, 86400 * 2).      % 公会所有成员离线超过这个时间自动解散
-define(AUTO_DISBAND_AF_WARNNING, 86400).           % 在解散警告时间多久后自动解散公会
-define(AUTO_DISBAND_NEED_NUM, 1).                  % 公会少于这个人数进入自动解散倒计时
-define(DISBAND_NEED_NUM,      3).                  % 公会少于这个人数可以解散
-define(APPLY_EXPIRED_TIME, 86400).                 % 申请过期时间
-define(DEPOT_EXP_EXCHANGE_SCORE, 2000).            % 仓库里面的经验道具兑换需要积分
-define(DEPOT_EXP_GOODS_ID, 18030001).              % 仓库经验道具的物品类型id
-define(DEPOT_RECORD_SHOW_LEN,   20).               % 仓库记录显示长度限制
-define(DEPOT_RECORD_MAX_LEN,    40).               % 仓库记录缓存长度限制
-define(KICK_OUT_POSTION,        0).                % 提出公会默认职位
-define(PAGE_SIZE,              40).                % 默认页码

%% ---------------------- 公会共用仓库操作 ----------------------
-define(GUILD_DEPOT_CTRL_ADD, 1).                    % 往仓库存放道具
-define(GUILD_DEPOT_CTRL_EXCHANGE, 2).               % 从仓库兑换道具
-define(GUILD_DEPOT_CTRL_DESTORY, 3).                % 销毁仓库道具


-define(GUILD_REM_POOL(GuildId), (GuildId rem ?GUILD_REM)).
-define(GUILD_REM, 20).%N个驻地分线池

%% ------------------------------------------------
%% @doc 游戏数据格式
%% ------------------------------------------------

%% ----------- 基础 --------------
%% 公会 活跃就是经验值
-record(guild, {
        id = 0                          % 公会id
        , name = <<>>                   % 公会名字
        , name_upper = ""               % 公会名字（大写）
        , announce = <<>>               % 公会公告
        , chief_id = 0                  % 会长id
        , chief_name = <<>>             % 会长名字
        , agent    = 0                  % 代理团长
        , agent_time = 0                % 代理时间
        , lv = 0                        % 等级
        , exp = 0                       % 经验
        , division = 0                  % 评级
        , funds = 0                     % 资金
        , arrears = 0                   % 拖欠次数
        , flag = 0                      % 社团旗帜
        , member_num = 0                % 成员数量
        , combat_power = 0              % 战力
        , create_time = 0               % 创建时间
        , modify_times = 0              % 公告修改次数
        , approve_type = 0              % 审批类型 0:自动 1:手动
        , auto_approve_lv = 0           % 自动加入的等级
        , auto_approve_power = 0        % 自动加入的战力
        , disband_warnning_time = 0     % 自动解散警告时间

        , week_labor = 0                  % 周活跃(劳动量)
        , week_labor_refresh = 0          % 周刷新时间
        , week_labor_last = 0             % 上周活跃(劳动量)

        , c_rename = 0                  % 免费改名次数 0: 没有免费改名 >1:能免费改名字
        , c_rename_time = 0             % 最后免费改名时间
        , badges = []

        , fire_num = 0  %%篝火周最高参与人数
        , assist   = 0  %%周助战次数
        , war_win  = 0  %%社团战获胜累记
        , last_renew = 0 %%下次刷新时间

        , race_rank = 0                 % 竞速榜排名
        , add_member_num = 0            % 增加成员人数
        , cgwar_room = 0                % 团战名次(房间)
     }).

%% 公会成员
-record(guild_member, {
        id = 0                          % 玩家ID
        , figure = undefined            % #figure{}
        , guild_id = 0                  % 公会ID
        , guild_name = <<>>             % 公会名称
        , position = 0                  % 职位
        , precursor = 5                 % 前身职位 申请代理社长记录旧的职位

        , week_labor = 0                % 周活跃
        , week_labor_refresh = 0        % 周刷新时间
        , labors = 0                    % 历史活跃

        , online_flag = 0               % 是否在线
        , combat_power = 0              % 玩家当前战力
        , h_combat_power = 0            % 历史最高战力
        , last_login_time = 0           % 最后登录时间
        , last_logout_time = 0          % 最后登出游戏时间
        , create_time = 0               % 入会时间

    }).

%% 公会请求
-record(guild_apply, {
        key = undefined                 % key值
        , role_id = 0                   % 玩家id
        , guild_id = 0                  % 公会id
        , create_time = 0               % 创建时间
        , position = 0
    }).

%% 公会合并
-record(guild_merge, {
        guild_id = 0                    % 公会id
        , tapply = 0                    % 我申请合并的社团
        , fapplys = []                  % 向我申请合并的社团
        , notes = []                    % 记录最近三天内五组拒绝数据
    }).

%% 玩家进程status
-record(status_guild, {
        id = 0                          % 公会id
        , flag = 0                      % 社团旗帜
        , name = <<>>                   % 公会名字
        , lv = 0                        % 公会等级
        , position = 0                  % 职位
        , position_name = <<>>          % 职位名字
        , create_time = 0               % 入会时间
        , leave_time = 0                % 退出公会时间
        , attr = []                     % 公会的属性加成
        , red_packet = 0                % 抢的红包金额
        , red_gold_packet = 0           % 抢的钻石红包金额
        , support_id = 0                % 协助Id(唯一Id)
        , support_cfg_id = 0            % 协助配置Id
        , support_leader_id = 0         % 协助玩家Id
        , support_leader_name = ""      % 协助玩家名字
        , support_team_id = 0           % 协助队伍Id
        , support_scene_info = []       % 协助场景信息(判断玩家是否成功进入协助场景)
        , is_support_asker = 0          % 是否请求协助者
        , is_in_support = 0             % 是否在协助玩法中 0-否 1-是
        , guild_reputation = 0          % 社团每日声望(已废弃)
        , badges = []
        , orders = []                   % 拼单任务
    }).

%%徽章结构
-record(guild_badge, {
    id   = 0,
    type = 0,
    stime = 0,
    etime = 0
}).

%%徽章配置
-record(base_badge, {
    id   = 0,
    name = "",
    level = 0,
    type = 0,
    cool = 0, %%冷却时间 0表示永久
    effect = 0,
    condition = [],
    next = 0
}).

%% 公会技能
-record(guild_skill, {
    guild_id = 0,                      % 公会id
    skill_id = 0,                      % 技能id
    research_lv = 0                    % 研究等级
    }).

%% 公会技能 ps上的
-record(status_guild_skill, {
    attr = [],
    gskill_map = #{}
    }).

%% 公会协助
-record(guild_support, {
    support_sid       = 0,     %% 协助Id,全服唯一
    ask_id            = 0,     %% 请求协助者
    ask_scene_id      = 0,     %% 请求协助者场景Id
    ask_pool_id       = 0,     %% 请求协助者场景分区进程Id
    ask_copy_id       = 0,     %% 请求协助者副本Id
    ask_x             = 0,     %% 请求协助者坐标X
    ask_y             = 0,     %% 请求协助者坐标Y
    support_cfg_id    = 0,     %% 协助的配置Id
    support_role_list = [],    %% 协助者列表
    status            = 0,     %% 协助状态 0-未开始 1-正在进行 2-已经结束
    content           = {},    %% 请求协助内容.例如{team, TeamId, CopyId}, {boss, BossId}...
    extra_data        = [],    %% 其他数据(各类玩法定制)
    team_id           = 0,     %% 队伍Id(请求协助者所在队伍Id)
    team_leader_name  = "",	   %% 队伍队长名字(请求协助者所在队伍队长名字)
	create_time       = 0      %% 创建时间
    ,module           = 0      %% 处理模块名
}).

%% ------------------------------------------------
%% @doc 公会基础配置
%% ------------------------------------------------

%% ----------- 基础 --------------
%% 创建公会配置
-record(base_guild_create,{
    cfg_id = 0,
    cost = [],          %%消耗
    guild_lv = 0,       %%初始公会大厅等级
    condition = []      %%创建条件
    }).

%% 公会等级配置
-record(base_guild_lv, {
        lv = 0,
        exp = 0,
        member_capacity = 0,
        pos_list = []
    }).

%% 公会职位配置
-record(guild_pos_cfg, {
    position = 0            % 职位(看宏)
    , name = ""             % 职位名字
    , permission_list = []  % 权限列表
    , num = 0               % 人数
}).

%% 公会职位配置
-record(base_guild_pos, {
    position = 0            % 职位(看宏)
    , name = ""             % 职位名字
    , permission_list = []  % 权限列表
    , reputation_add        % 每日声望加成
}).

%% 公会商店
-record(base_shop_good, {
        auto_id = 0,        % 唯一id
        id = 0,             % 商品id
        cost = 0,           % 消耗贡献
        limit = 0,          % 购买上限
        building_lv = 0     % 建筑等级
    }).

%% 公会技能
-record(base_skill,{
        skill_id  = 0,
        skill_lv  = 0,
        skill_name = "",
        building_lv = 0,    % 所需建筑等级下限
        building_lv_max = 0,% 所需建筑等级上限
        guild_lv = 0,       % 公会等级
        role_min_lv = 0,    % 人物等级下限
        role_max_lv = 0,    % 人物等级上限
        attr = [],
        cost = 0            % 消耗贡献
    }).

%% 公会个人额外活跃度奖励
-record(base_extra_live_reward, {
        reward_id = 0,      % 奖励id
        live = 0,           % 个人累计活跃度
        extra_add = 0       % 额外公会活跃度
    }).

%% 公会技能
-define(DEFAULT_GSKILL_RESEARCH_LV,  3).    %% 默认公会技能研究等级
-record(guild_skill_cfg, {
    skill_id = 0            % 技能id(技能配置表)
    , type = 0              % 类型 1: 基础技能 2: 高级技能
    , unlock_lv = 0         % 解锁需要的公会等级
}).

%% 公会技能研究
-record(guild_skill_research_cfg, {
    skill_id = 0                    % 技能id(技能配置表)
    , lv = 0                        % 等级
    , research_condition = []       % 研究条件
    , research_cost = []            % 研究消耗
    , learn_condition = []          % 学习条件
    , learn_cost = []               % 学习消耗
}).


-define(INIT_ORDER,   0).  %%初始化
-define(ANCHOR_ORDER, 1).  %%可拼单
-define(ALIVE_ORDER,  2).  %%已出单待完成
-define(OVER_ORDER,   3).  %%已完成可感谢
-define(CLOSE_ORDER,  4).  %%已完成

%%社团派单
-record(guild_order, {
	id = 0,       %%位置ID
	cfgid = 0,    %%配置ID
	status = 0,   %%订单状态0未派发1选中(可拼单)1已出待完成3已完成可领取
	content = {}, %%任务内容{}
    teams = [],   %%拼单人
    finish_time = 0 %%完成时间
}).

%% 拼单感谢礼包
-record(guild_order_thank_packet, {
    ask_id     = 0,
    order_id   = 0,
    role_list  = [],
    order_cfg_id = 0,
    content    = [],
    is_send    = 0,         %% 是否已经发送感谢
    time       = 0
}).

%% 拼单记录(需求发起者先发送感谢)
-record(guild_order_thank_log, {
    ask_id     = 0,
    order_id   = 0,
    order_cfg_id = 0,
    content    = [],
    chat_msg   = "",
    is_receive = 0,         %% 是否已经领取奖励
    time       = 0
}).

%%订单配置
-record(base_guild_order, {
	id = 0,
    name = "",
	color = 0,
	min_lv = 0,
	max_lv = 0,
	content = {},
    max_num = 0, %%可拼单人数
	cost = [],
	gain = [], %%派单奖励
	awards = [] %%完成获得
    ,thank_reward  = []  %% 感谢奖励(发起者获得)
    ,order_reward  = []  %% 接单奖励(协助者获得)
    ,weight = 0
    ,ai_ratio = 0     %%AI收益百分比
    ,people_ratio = 0 %%真人收益百分比
}).

%% 社团协助配置表
-record(base_guild_support, {
    support_id        = 0,     %% 协助Id(主键)
    module_id         = 0,     %% 功能Id
    sub_mod_id        = 0,     %% 功能子Id
    mod_name          = "",    %% 玩法名字
    support_limit     = 0,     %% 协助人数上限
    reward_reputation = 0,     %% 协助声望
    thank_reward      = [],    %% 感谢奖励
    support_reward    = []     %% 协助奖励
    ,is_conflict      = 1      %% 协助状态冲突
    ,out_scene_cancel = 1      %% 退出场景是否取消协助请求
    ,is_lv_limit      = 1      %% 是否限制等级
    ,scene_limit      = 0      %% 场景限制(是否可以发协助)
    ,show_support_list = 0     %% 是否展示协助列表
    ,show_hurt        = 0      %% 是否显示伤害列表
    ,show_ask_picture = 0      %% 是否显示被协助者头像
    ,head_label       = 0      %% 协助者头标
}).

-define(SAVE_ORDER_THANK, <<"REPLACE INTO guild_order_thank (`order_id`, `guild_id`, `ask_id`,`cfg_id`,`role_list`,`content`,`is_send`,`time`) VALUES (~p, ~p, ~p, ~p, '~ts', '~ts', ~p, ~p)">>).
-define(SELECT_ORDER_THANK, <<"SELECT `order_id`,`guild_id`,`ask_id`,`cfg_id`,`role_list`,`content`,`is_send`,`time` FROM guild_order_thank WHERE `ask_id` = ~p and `time` > ~p">>).
-define(DELETE_ORDER_THANK, <<"DELETE FROM guild_order_thank WHERE `time` < ~p">>).

-define(BATCH_SAVE_ORDER_LOG, <<"REPLACE INTO guild_order_log (`order_id`,`guild_id`,`role_id`,`ask_id`,`cfg_id`,`content`,`chat_msg`,`is_receive`,`time`) VALUES ~ts">>).
-define(BATCH_SAVE_ORDER_LOG_VALUE, <<"(~p, ~p, ~p, ~p, ~p, '~ts', '~ts', ~p, ~p)">>).
-define(SELECT_ORDER_LOG, <<"SELECT `order_id`,`guild_id`,`role_id`,`ask_id`,`cfg_id`,`content`,`chat_msg`,`is_receive`,`time` FROM guild_order_log WHERE `role_id` = ~p and `time` > ~p">>).
-define(DELETE_ORDER_LOG, <<"DELETE FROM guild_order_log WHERE `time` < ~p">>).