local ItemData = require("bag.Proto").ItemData
local BuyItem = require("topup.Proto").BuyItem
local HeroSimple = require("hero.Proto").HeroSimple
--local RechargeBackNet = require("present.Proto").RechargeBackNet
local RoleBase = require("role.Proto").RoleBase 

-- 超值礼包
PremiumGift = {
    {"id",		    1, "int" },      -- 礼包ID
    {"item",	    5, ItemData },    -- 礼包包含物品
    {"cnt",		    1, "byte" },      -- 已购买次数
    {"maxCnt",      1, "byte"},       -- 最大购买次数
    {"buyMsg",	    2, BuyItem},      -- buyID
    {"needItem",	2, ItemData },    -- 礼包含物品
    {"icon",	    1, "int" },       -- 图标
    {"name",	    1, "string" },       -- 图标
}

AbsMangHeMr = {
    {"id",		    1, "byte" },      -- 礼包ID
    {"desc",	    1, "string"},     -- 描述
    {"item",		1, ItemData},     -- 奖励
    {"status",      1, "byte"},       -- 状态
    {"cur",         1, "byte"},       -- 状态
    {"max",         1, "byte"},       -- 状态
}

-- 通用查询协议 
CG_ABS_ACT_DETAIL_QUERY = {
    {"id",			1,"int"},                -- 活动ID
}

-- 超值礼包信息查询
GC_ABS_ACT_PREMIUM_GIFT_QUERY = {
    {"premiumGiftMsg",  10, PremiumGift},    
    {"startTime",       1,  "int"},     -- 开启时间
    {"endTime",         1,  "int"},     -- 结束时间
	{"templateId",      1,  "int"},     -- 面板ID
	{"absActId",        1,  "short"},
	{"status",          1,  "byte"},
    {"ad",              1,  "int"},
}

-- 超值礼包信息查询
CG_ABS_ACT_PREMIUM_GIFT_BUY = {
    {"id",              1,  "int"},
    {"giftid",          1,  "int"},
}

-- 盲盒 活动查询
GC_ABS_ACT_MANGHE_QUERY = {
    {"startTime",       1,  "int"},     -- 开启时间
    {"endTime",         1,  "int"},     -- 结束时间
    {"templateId",      1,  "int"},     -- 面板ID
    {"cjNow",           1,  "int"},     -- 抽奖次数
    {"cjMax",           1,  "int"},     -- 当前成就 所需要的抽奖次数
    {"cjGet",           1,  "byte"},    -- 已经领到几号成就
    {"cjItemID",        1,  "byte"},    -- 当前展示几号成就 
    {"cjItem",          1, ItemData},    -- 成就 展示物品
    {"oneNeed",         1, ItemData},   -- 单抽所需要的道具
    {"tenNeed",         1, ItemData},   -- 十抽所需要的道具
    {"gift",            1, PremiumGift},  -- 礼包
    {"mrReward",        3, AbsMangHeMr},  -- 每日奖励
    {"qiPao",           1,  "byte"},    -- 是否显示气泡
	{"bdCnt",           1,  "byte"},    -- 保底抽次数
}

-- 盲盒成就 查询
CG_ABS_ACT_MANGHE_CJ_QUERY = {}
MangHeCjNet = {
    {"id",            1,   "int"},    --id 
    {"need",          1,   "int"},    --所需抽奖次数
    {"item",          1,   ItemData}, -- 奖励
}
GC_ABS_ACT_MANGHE_CJ_QUERY = {
    {"now",          1,    "int"},   -- 现在多少抽
    {"cjMax",        1,    "int"},   -- 总共多少抽
    {"list",        30,   MangHeCjNet},
}

-- 盲盒 概率查询
CG_ABS_ACT_MANGHE_RARE_QUERY = {}

MangHeItemRareNet = {
    {"id",          1,   "int"},
    {"rare",        1,   "int"},   -- 概率 万分比
    {"item",        1,  ItemData},
}

GC_ABS_ACT_MANGHE_RARE_QUERY = {
    {"isStart",     1,  "byte"},
    {"isEnd",       1,   "byte"},
    {"list",       100,  MangHeItemRareNet},
}

-- 盲盒 抽奖
CG_ABS_ACT_MANGHE_DO = {
    {"cnt",         1,    "int"},
}

GC_ABS_ACT_MANGHE_DO = {
    {"list",      10,  ItemData},
}
-- 盲盒 成就领奖
CG_ABS_ACT_MANGHE_CJ_GET = {}

-- 领取每日奖励
CG_ABS_ACT_MANGHE_MR_GET = {
    {"id",         1,    "byte"},
}

-- 心仪英雄活动
GC_ABS_ACT_PERPLE_HERO_QUERY = {
    {"perpleHero",2,"int"},                 -- 心仪英雄 数组原因：没有设置心仪英雄时，只需将长度设为0即可
    {"heroList",3,HeroSimple},              -- 可供选择的英雄列表
    {"leftCnt",1,"byte"},                   -- 必得剩余次数
    {"aItem",1,ItemData},                   -- 单抽需要的道具
    {"bItem",1,ItemData},                   -- 高级抽需要的道具
}

-- 设置心仪英雄
CG_ABS_ACT_PERPLE_HERO_SET = {
    {"perpleHero",1,"int"},                 -- 英雄id
    {"id",1,"int"},                         -- 活动id
}

CG_ABS_ACT_PERPLE_HERO_COMBAT = {
    {"heroID",1,"int"},                     -- 英雄id
}

-- 英雄日志
HeroLogTask = {
    {"id",1,"int"},                 -- id
    {"nowCnt",1,"int"},             -- 当前完成次数
    {"maxCnt",1,"int"},             -- 最大次数
    {"state",1,"byte"},             -- 任务状态
    {"desc",1,"string"},            -- 任务描述
    {"panelID",1,"int"},            -- 跳转页面
    {"item",2,ItemData},            -- 任务奖励
}

HeroLogBox = {
    {"id", 1, "byte"},          -- 宝箱id
    {"state", 1, "byte"},          -- 宝箱状态
    {"item",5,ItemData},        -- 奖励
}

GC_ABS_ACT_HERO_LOG_QUERY = {
    {"taskList",10,HeroLogTask},        -- 任务列表
    {"box",10,HeroLogBox},                  -- 宝箱列表
}

CG_ABS_ACT_GET_HERO_LOG_BOX = {
    {"index",1,"int"},
    {"id",1,"int"},
}

CG_ABS_ACT_GET_HERO_LOG_TASK = {
    {"index",1,"int"},
    {"id",1,"int"},
}


-- 掉落兑换
GC_ABS_ACT_DROP_QUERY = {
    {"drop",       1,     ItemData}
}

CG_ABS_ACT_DROP_SHOP_QUERY = {}

AbsDropShopNet = {
    {"id",         1,     "int"},
    {"need",       1,     "int"},
    {"buyCnt",     1,     "int"},
    {"maxBuy",     1,    "int"},
    {"item",       1,    ItemData}
}
GC_ABS_ACT_DROP_SHOP_QUERY = {
    {"need",         1,  ItemData},
    {"list",        20,  AbsDropShopNet},
    {"templateId",   1,  "int"},     -- 面板ID
}

-- 掉落商店购买
CG_ABS_ACT_DROP_SHOP_BUY =  {
    {"id",         1,    "int"},
    {"buyCnt",     1,    "int"},
}

GC_ABS_ACT_DROP_SHOP_BUY = {
    {"id",         1,     "int"},
    {"item",       1,    ItemData}
}


--
-- 积分召唤
AbsJiFenDraw = {
   {"id",    1,     "byte"},       -- 英雄信息
   {"hero",  1,     HeroSimple},   -- 英雄信息
   {"cur",   1,     "byte"},       -- 当前兑换次数
   {"max",   1,     "byte"},       -- 最大兑换次数
   {"cost",  1,     "short"},      -- 花费
}

-- 积分召唤回馈
GC_ABS_ACT_JIFEN_DRAW_QUERY = {
    {"list",       10,    AbsJiFenDraw},
    {"randomCost", 1,    "short"},
    {"curJifen",   1,    "int"},
}

-- 积分召唤
CG_ABS_ACT_JIFEN_DRAW_BUY = {
    {"id",    1,     "byte"},       -- 英雄信息
    {"actID", 1,    "short"}
}

-- 英灵传说
GC_ABS_ACT_HERO_LOGIN_PICK_QUERY = {
    {"get",         7,     "int"},     -- 每日登陆 已领奖列表
    {"itemGet",     1,    "byte"},     -- 总奖励 是否已经领取
    {"heroSimple",  5,    HeroSimple},   -- 可选择英雄
    {"items",    5,    ItemData},     -- 可选择英雄的 道具模型展示
    {"login",        7,   ItemData},    -- 登陆奖励展示
    {"openDay",     1,    "int"},
}

CG__ABS_ACT_HERO_LOGIN_PICK = {
    {"type",        1,     "byte"},    -- 0 每日登陆领取  1 英雄领取
    {"id",          1,     "int"},
    {"param",       1,     "int"},     -- 领取目标 
}

----------ABS占卜轮---------
-- ABS占卜轮盘数据发送
GC_ABS_ZHAN_BU_LUA_PAN_QUERY = {
   {"needItem",        1,    ItemData},     -- 抽奖需要的道具 
   {"list",        14,   ItemData},         -- 奖池道具列表
   {"orderList",   14,    "int"},           -- 奖池道具抽取顺序
   {"composeItems",       3,    ItemData},  -- 活动期间每次合成得到的道具
   {"resershItem",        1,    ItemData},  -- 活动期间每次刷新得到的道具
   {"recoveryItem",        1,    ItemData}, -- 活动结束后回收抽奖道具获得新道具
   {"recoveryProb",        1,    "string"}, -- 活动结束后回收抽奖道具获得新道具比例
   {"times",       1,      "int"},          -- 当前抽奖了多少次
   {"itemCnt",     1,      "int"},          -- 下次抽奖需要道具数量
}
-- ABS占卜轮盘抽奖
CG_ABS_ZHAN_BU_LUA_PAN_GET = {
    {"id",          1,      "int"},         -- 活动id
}
-- ABS占卜轮盘抽奖返回
GC_ABS_ZHAN_BU_LUA_PAN_GET = {
   {"times",       1,      "int"},          -- 当前抽奖了多少次
   {"itemCnt",     1,      "int"},          -- 下次抽奖需要道具数量
}
----------ABS占卜轮---------



------- ABS 充值返利 --------
AbsRechargeBackNet = {
    {"id",      1,  "int"},
    {"need",    1,  "int"},
    {"state",   1,  "byte"},
    {"reward",  8, ItemData},
}
GC_ABS_RECHARGE_BACK_QUERY = {
    {"list",     10,  AbsRechargeBackNet},
    {"recharge",  1,  "int"},
    {"maxCnt",    1,  "byte"},
    {"isEnd",    1,  "byte"},
    {"startTime",  1,  "int"},
    {"endTime",    1,  "int"},
    {"panelID",    1,  "int"},
}

CG_ABS_RECHARGE_BACK_GET = { 
    {"panelID",    1,  "int"},
    {"id",     1,  "int"},
}
-------  ABS 充值返利 --------


-- 打工
-- 英雄崛起
HeroGrowUpTaskNet = {
    {"id",              1,          "int"},         -- 任务id
    {"taskName",        1,          "string"},      -- 任务名
    {"taskDesc",        1,          "string"},      -- 任务描述
    {"nowValue",        1,          "int"},         -- 当前进度
    {"maxValue",        1,          "int"},         -- 最大进度
    {"item",            1,          ItemData},      -- 奖励
    {"panelID",         1,          "int"},         -- 面板ID
    {"state",           1,          "byte"},        -- 任务状态 0-不可领 1-可领 2-已领
}
HeroGrowUpNet = {
    {"leftTime",        1,          "int"},         -- 剩余时间
    {"lv",              1,          "int"},         -- 等级
    {"jifen",           1,          "int"},         -- 当前积分
    {"maxJifen",        1,          "int"},         -- 最大积分
    {"isBuyKing",       1,          "byte"},        -- 是否解锁了王者
    {"hasTaskRed",      1,          "byte"},        -- 积分任务是否有红点
}
-- 积分任务查询
CG_HERO_GROWUP_TASK_QUERY = {
    {"mainType",        1,          "byte"},        -- 任务分类 1-每日任务 2-每周任务 3-终极任务
}
GC_HERO_GROWUP_TASK_QUERY = {
    {"data",            1,          HeroGrowUpNet},     -- 基础信息
    {"mainType",        1,          "byte"},            -- 任务分类 1-每日任务 2-每周任务 3-终极任务
    {"taskList",        20,         HeroGrowUpTaskNet}, -- 任务列表
    {"taskReds",        3,          "byte"},            -- 任务红点
    {"taskLeftTime",    1,          "int"},             -- 任务剩余时间
    {"startTime",       1,          "int"},             -- 活动开启时间
    {"endTime",         1,          "int"},             -- 活动结束时间
    {"leftTime",        1,          "int"},             -- 活动剩余时间
}

-- 领取积分任务奖励 领取成功返回GC_HERO_GROWUP_TASK_QUERY
CG_HERO_GROWUP_TASK_GET = {
    {"id",              1,          "int"},         -- 任务id   
}

-- 等级提升界面
GC_HERO_GROWUP_LVUP = {
    {"lv",              1,          "int"},         -- 目标等级
    {"items",           10,         ItemData},      -- 获得奖励列表
    {"isBuyKing",       1,          "byte"},        -- 是否解锁了王者
}

-- 解锁王者查看
CG_HERO_GROWUP_KING_QUERY = {}
GC_HERO_GROWUP_KING_QUERY = {
    {"items",           20,         ItemData},      -- 奖励展示
    {"buyItem",         1,          BuyItem},       -- 直购信息
    {"isBuyKing",       1,          "byte"},        -- 是否解锁了王者
}

-- 奖励预览查询
HeroGrowUpRewardNet = {
    {"lv",              1,          "int"},         -- 等级
    {"items",           3,          ItemData},      -- 英雄奖励列表
    {"itemsKing",       3,          ItemData},      -- 王者奖励列表
    {"state",           1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
    {"stateEx",         1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
}
HeroGrowUpRewardExNet = {
    {"lv",              1,          "int"},         -- x级后
    {"exLv",            1,          "int"},         -- x级后
    {"needLv",          1,          "int"},         -- 每x级可以获得降级
    {"items",           3,          ItemData},      -- 英雄奖励列表
    {"itemsKing",       3,          ItemData},      -- 王者奖励列表 
    {"state",           1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
    {"stateEx",         1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
}
CG_HERO_GROWUP_REWARD_QUERY = {}
GC_HERO_GROWUP_REWARD_QUERY = {
    {"data",            1,          HeroGrowUpNet},         -- 基础信息
    {"rewardList",      50,         HeroGrowUpRewardNet},   -- 奖励列表   
    {"exReward",        1,          HeroGrowUpRewardExNet}, -- 特殊奖励
}

CG_HERO_GROWUP_LV_GET = {
    {"lv",              1,          "int"},         -- 任务id   
}

GC_HERO_GROWUP_TASK_REFRESH = {}

-- 购买成功回调
GC_HERO_GROWUP_BUY_OK = {
    {"data",            1,          HeroGrowUpNet},         -- 基础信息    
}

CG_HERO_GROWUP_BUY_JIFEN = {
    {"itemID",1,"int"},         
    {"cnt",1,"int"}
}

GC_HERO_GROWUP_BUY_JIFEN = {
    {"lv",1,"int"},
    {"jifen",1,"int"},
    {"maxJifen",1,"int"},
}


-- 铂金周卡
AbsWeekLyCard = {
    {"id",     1, "int"},
    {"items",  10, ItemData},   -- 道具奖励
}


GC_ABS_WEEK_LYCARD_QUERY = {
    {"leftTime",   1, "int"},         -- 剩余时间
    {"buyItem",    1, PremiumGift},   -- 礼包
    {"weekLyCard", 7, AbsWeekLyCard}, -- 活动奖励列表
    {"isActive",   1, "byte"},        -- 是否购买
    {"actId",      1, "int"},         -- 活动id
}


-- 365王卡
Abs365Card = {
    {"id",     1, "int"},
    {"items",  10, ItemData},   -- 道具奖励
}


GC_ABS_365CARD_QUERY = {
    {"leftTime",   1, "int"},         -- 剩余时间
    {"buyItem",    1,  PremiumGift},  -- 礼包
    {"items",      20, ItemData},     -- 道具奖励
    {"getItems",   20, ItemData},     -- 可领取道具
    {"actId",      1, "int"},         -- 活动id
    {"leftDay",    1, "short"},       -- 剩余天数
    {"newItem",    2, ItemData},      -- 每天新获取的道具
    {"active",     1, "byte"},        -- 是否激活
    {"draw",       1, "byte"},        -- 是否可以抽奖
}

CG_ABS_365CARD_DRAW = {
    {"actId",      1, "int"},         -- 抽奖
}

CG_ABS_365CARD_GET = {
    {"actId",      1, "int"},         -- 活动id
}
--------------------------新英雄来袭------------------
------------英雄降临------------
-- 发送英雄降临数据
GC_ABS_ACT_HERO_COME_QUERY = {              
    {"perpleHero",2,"int"},                 -- 心仪英雄 数组原因：没有设置心仪英雄时，只需将长度设为0即可
    {"heroList",3,HeroSimple},              -- 可供选择的英雄列表
    {"leftCnt",1,"byte"},                   -- 必得剩余次数
    {"aItem",1,ItemData},                   -- 单抽需要的道具
    {"bItem",1,ItemData},                   -- 高级抽需要的道具
}
-- 设置心仪英雄
CG_ABS_ACT_HERO_COME_SET = {                
    {"perpleHero",1,"int"},                 -- 英雄id
    {"id",1,"int"},                         -- 活动id
}
-- 观看英雄战斗录像
CG_ABS_ACT_HERO_COME_COMBAT = {
    {"heroID",1,"int"},                     -- 英雄id
}
------------英雄降临------------

------------夙愿礼盒------------
WishGift = {
    {"id",		    1, "byte" },            -- 礼包ID
    {"item",	    5, ItemData },    -- 礼包包含物品
    {"cnt",		    1, "byte" },      -- 已购买次数
    {"maxCnt",      1, "byte"},       -- 最大购买次数
    {"buyMsg",	    2, BuyItem},      -- buyID
    {"needItem",	2, ItemData },    -- 礼包含物品
    {"icon",	    1, "int" },       -- 图标
    {"name",	    1, "string" },          -- 图标
}
-- 夙愿礼盒信息发送
GC_ABS_ACT_WISH_GIFT_QUERY = {              
    {"premiumGiftMsg",  10, WishGift},    
    {"startTime",       1,  "int"},         -- 开启时间
    {"endTime",         1,  "int"},         -- 结束时间
	{"templateId",      1,  "int"},         -- 面板ID
	{"absActId",        1,  "short"},
	{"status",          1,  "byte"},
    {"ad",              1,  "int"},
}
-- 夙愿礼盒礼包钻石购买
CG_ABS_ACT_WISH_GIFT_BUY = {                
    {"id",              1,  "int"},
    {"giftid",          1,  "int"},
}
------------夙愿礼盒------------

------------每日祈福------------
GC_ABS_ACT_EVERY_DAY_PRAY_QUERY = {       -- 每日祈福信息发送
    {"get",         7,     "int"},         -- 每日登陆 已领奖列表
    {"itemGet",     1,    "byte"},         -- 总奖励 是否已经领取
    {"heroSimple",  5,    HeroSimple},     -- 可选择英雄
    {"items",    5,    ItemData},          -- 可选择英雄的 道具模型展示
    {"login",        7,   ItemData},       -- 登陆奖励展示
    {"openDay",     1,    "int"},
}

CG_ABS_ACT_EVERY_DAY_PRAY_GET = {          -- 每日祈福领取
    {"type",        1,     "byte"},        -- 0 每日登陆领取  1 英雄领取
    {"id",          1,     "int"},
    {"param",       1,     "int"},         -- 领取目标 
}
------------每日祈福------------

------------惊喜宝箱------------
DAY_SURPRISE_CHEST = {                      -- 每天惊喜宝箱数据
    {"day",         1,      "byte"},        -- 天数
    {"cnt",         1,      "int"},         -- 当前完成次数
    {"state",       1,      "byte"},        -- 当前状态(0未解锁1解锁不能领,2可领,3已领,4可补领,5已补领)
    {"maxCnt",      1,      "int"},         -- 达成所需次数
    {"panelID",     1,      "int"},         -- 跳转ID
    {"yuanbao",     1,      "int"},         -- 补领需要的元宝
    {"items",       5,      ItemData},      -- 道具奖励
    {"desc",        1,      "string"},      -- 任务描述
}
GC_ABS_SURPRISE_CHEST_QUERY = {             -- 惊喜宝箱数据推送
    {"dayChests",   7,  DAY_SURPRISE_CHEST}, -- 每天惊喜宝箱数据
    {"actId",       1,  "int"},             -- 活动ID 
    {"day",         1,      "byte"},        -- 当前解锁天数
}

GC_ABS_SURPRISE_CHEST_UPDATE = {            -- 惊喜宝箱数据变化时推送
    {"day",         1,      "byte"},        -- 天数
    {"cnt",         1,      "int"},         -- 当前完成次数
    {"state",       1,      "byte"},        -- 当前状态(0未解锁,1已解锁(不能领),2可领,3已领取,4可补领,5已补领)
}

CG_ABS_SURPRISE_CHEST_GET = {               -- 领取完成惊喜宝箱任务奖励
    {"day",         1,      "byte"},        -- 天数
    {"actId",       1,      "int"}          -- 活动ID 
}

CG_ABS_SURPRISE_CHEST_BU_GET = {            -- 补领未完成惊喜宝箱任务奖励
    {"day",         1,      "byte"},        -- 天数
    {"actId",       1,      "int"}          -- 活动ID 
}
------------惊喜宝箱------------
------------专属任务------------
ExclusiveTask = {                   -- 专属任务列表
    {"id",1,"int"},                 -- 任务id
    {"nowCnt",1,"int"},             -- 当前完成次数
    {"maxCnt",1,"int"},             -- 最大次数
    {"state",1,"byte"},             -- 任务状态
    {"desc",1,"string"},            -- 任务描述
    {"panelID",1,"int"},            -- 跳转页面
    {"item",5,ItemData},            -- 任务奖励
    {"addScoreCnt", 1, "int"},      -- 完成任务领取后可增加积分数量
}

ExclusiveTaskBox = {                -- 专属任务盒子列表
    {"id", 1, "byte"},              -- 宝箱id
    {"state", 1, "byte"},           -- 宝箱状态
    {"item",5,ItemData},            -- 奖励
    {"needCnt", 1, "int"},          -- 需要积分数量
}

GC_ABS_ACT_EXCLUSIVE_TASK_QUERY = { -- 发送专属任务数据
    {"taskList",20,ExclusiveTask},  -- 任务列表
    {"box",6,ExclusiveTaskBox},    -- 宝箱列表
    {"actId",       1,  "int"},      -- 活动ID 
    {"boxScore", 1, "int"},         -- 宝箱积分
    {"day",1,"byte"},                   -- 当前第几天
    {"buyItem", 1, BuyItem},        -- 购买道具
}

CG_ABS_ACT_GET_EXCLUSIVE_TASK_BOX = {-- 专属任务盒子奖励领取
    {"index",1,"int"},               -- 宝箱id   
    {"id",1,"int"},                  -- 活动id
}

CG_ABS_ACT_GET_EXCLUSIVE_TASK_TASK = {-- 专属任务奖励领取
    {"index",1,"int"},               -- 任务id
    {"id",1,"int"},                  -- 活动id
}
------------专属任务------------
--------------------------新英雄来袭------------------

------------国庆活动四个子活动---------------
--双倍充值活动

-- 七日狂欢活动
NdSevenDayNet = {
    {"day",1,"byte"},           --第几天
    {"item",5,ItemData},        -- 道具
    {"state",1,"byte"},         -- 状态 0 不可领 1 可领 2 已领取  同时代表红点 1 为亮
}

GC_ABS_ND_SEVEN_DAY_QUERY = {
    {"sevenDayList",7,NdSevenDayNet},
    {"day",1,"byte"},
}

CG_ABS_ND_SEVEN_DAY_GET = {
    {"day",         1,      "byte"},        -- 天数
    {"actId",       1,      "int"}               -- 活动ID 
}

-- 举国欢庆
NdTaskNet = {
    {"id",1,"byte"},        --任务id
    {"panelID",1,"int"},        -- 跳转页面
    {"name",1,"string"},        --任务描述
    {"desc",1,"string"},        --任务描述
    {"item",5,ItemData},        --任务奖励
    {"needCnt",1,"int"},       --需要次数
    {"nowCnt",1,"int"},        --当前次数
    {"state",1,"byte"},         --状态 0 未完成 1 已完成 2 已领取
}

NdTaskBoxNet = {
    {"id",1,"byte"},             --任务id
    {"item",5,ItemData},        --任务奖励
    {"needCnt",1,"int"},       --需要次数
    {"state",1,"byte"},         --状态 0 未完成 1 已完成 2 已领取
}

GC_ABS_ND_TASK_QUERY = {
    {"drumList",9,NdTaskNet},           -- 鼓
    {"blastingList",9,NdTaskNet},       -- 炮
    {"boxList",9,NdTaskBoxNet},         -- 宝箱
    {"blastingCnt",1,"int"},           -- 放炮次数
    {"day",1,"byte"},                   -- 当前第几天
    {"buyItem",1,BuyItem},              -- 购买信息 补领
}

CG_ABS_ND_DRUM_GET = {
    {"id",1,"byte"},             -- id
    {"type",1,"byte"},             -- 1 鼓 2炮 3 宝箱
    {"actId",       1,      "int"}               -- 活动ID 
}

-- 私人定制
NdCustomNet = {
    {"id",1,"int"},            -- id
    {"fixed",2,ItemData},       -- 固定道具
    {"buyItem",2,BuyItem},      -- 购买信息  由于需求文档中表示有可购买和免费两种，故用数组，方便不填数据
    {"first",10,ItemData},      -- 道具库1
    {"second",10,ItemData},     -- 道具库2
    {"third",10,ItemData},      -- 道具库3
    {"one",2,ItemData},         -- 道具1
    {"two",2,ItemData},         -- 道具2
    {"three",2,ItemData},       -- 道具3
    {"limitCnt",1,"byte"},      -- 限购次数
    {"nowCnt",1,"byte"},        -- 已购次数
    {"price",1,"int"},          -- 钻石价格
    {"state",1,"byte"},         -- 状态  0 前往自选 1 购买/领取  2 售罄
    {"name",1,"string"},        -- 礼包名字
}

GC_ABS_ND_CUSTOM_QUERY = {
    {"giftList",10,NdCustomNet},
}

CG_ABS_ND_CUSTOM_CHOSE_ITEM = {
    {"id",1,"int"},         -- 活动id
    {"giftId",1,"int"},    -- 礼包id
    {"first",1,"byte"},     -- 道具库索引
    {"second",1,"byte"},    -- 道具库索引
    {"third",1,"byte"}      -- 道具库索引
}

GC_ABS_ND_CUSTOM_SELECT = {
    {"ret",1,"byte"},                           -- 0 选择失败 1 选择成功
}

CG_ABS_ND_CUSTOM_GET = {
    {"id",1,"int"},
    {"args",1,"int"},               -- 活动ID 
}

---------------国庆活动end-------------------

---------------合服活动----------------------
--秒杀礼包
HfSeckillGiftNet = {
    {"id",      1,      "int"},             -- id
    {"item",    12,      ItemData},          -- 道具
    {"buyItem", 1,      BuyItem},           -- 购买信息  
    {"price",   1,      "int"},             -- 原价
    {"state",   1,      "byte"},            -- 状态  1 可买  2 售罄
    {"name",    1,      "string"},          -- 礼包名字
}

GC_ABS_HF_SECKILL_GIFT_QUERY = {
    {"giftList",3,HfSeckillGiftNet},            -- 礼包列表
    {"oneKeyGift",2,HfSeckillGiftNet},          -- 一键购买对应礼包
}

-- 消费返利
HfUseDiamondNet = {
    {"id",      1,      "byte"},            -- id
    {"item",    5,      ItemData},          -- 固定道具
    {"state",   1,      "byte"},            -- 状态  0 千万 1 领取  2 已领取
    {"needUse", 1,      "int"},             -- 需要消耗多少钻石
    {"nowUse",  1,      "int"},             -- 当前消耗多少钻石
    {"desc",    1,      "string"},          -- 描述
}

GC_ABS_HF_USE_DIAMOND_QUERY = {
    {"backReward",      2,      HfUseDiamondNet},       -- 返利大奖
    {"useRewardList",   20,     HfUseDiamondNet},       -- 消费奖励
}

CG_ABS_HF_USE_DIAMOND_GET = {
    {"actId",1,"int"},              -- 活动id
    {"id",1,"byte"},                -- 领取id
}

-- 许愿圣杯
HfWishCupNet = {
    {"id",      1,      "byte"},
    {"item",    5,      ItemData},          -- 固定道具
    {"state",   1,      "byte"},            -- 0 未勾选  1 已勾选     2 未解锁       
    {"desc",    1,      "string"},          -- 文字描述
}

GC_ABS_HF_WISH_CUP_QUERY = {
    {"cupList",6,HfWishCupNet},
    {"state",1,"byte"},                 -- 0 未许愿  1 已许愿
}

-- 选择并许愿
CG_ABS_HF_WISH_CUP_SELECT = {
    {"actId",   1,  "int"},                 -- 活动id
    {"one",     1,  "byte"},                -- 传选择杯子的id
    {"two",     1,  "byte"},                -- 传选择杯子的id
    {"three",   1,  "byte"},                -- 传选择杯子的id
}

GC_ABS_HF_WISH_CUP_SELECT = {
    {"ret",1,"byte"},       --1 提交成功 0提交失败
}

---------------合服活动end-------------------

-------------- 限时活动1 --------------------
-- 达标活动（累计充值金额，累计召唤次数，凡是累计达成某一数值，给某种奖励的活动通用）
AbsDabiaoNet = {
    {"id",1,"int"},         -- id
    {"needCnt",1,"int"},    -- 总计需达到多少数值
    {"state",1,"byte"},     -- 状态 0 不可领 1 可领 2 已领取
    {"desc",1,"string"},    -- 描述
    {"item",5,ItemData},    -- 奖励
}

GC_ABS_XS_REACH_QUERY = {
    {"nowCnt",1,"int"},             -- 当前完成次数
    {"dabiaoList",20,AbsDabiaoNet},    -- 档位列表
}

CG_ABS_XS_REACH_GET = {
    {"actId",1,"int"},          -- 活动id
    {"id",1,"int"},             -- 档位id
}

-- 单次达标活动（单次达到某一数值活动，如单次充值达到多少金额，如单次消耗多少金币，如单次消耗多少钻石等通用）
SingleDabiaoNet = {
    {"id",1,"int"},         -- id
    {"limitCnt",1,"byte"},  -- 限购次数
    {"nowCnt",1,"byte"},    -- 已购次数
    {"desc",1,"string"},    -- 描述
    {"state",1,"byte"},     -- 状态 0 不可领 1 可领 2 已领取
    {"buyID",1,"int"},      -- 指定礼包
    {"item",5,ItemData},    -- 奖励
}

GC_ABS_XS_SINGLE_REACH_QUERY = {
    {"dabiaoList",20,SingleDabiaoNet},    -- 档位列表
}

CG_ABS_XS_SINGLE_REACH_GET = {
    {"actId",1,"int"},          -- 活动id
    {"id",1,"int"},             -- 档位id
}

-- 排行榜
RankListNet = {
    {"rank",1,"int"},           -- 排名
    {"maxRank",1,"int"},        -- 最大排名
    {"minRank",1,"int"},        -- 最小排名
    {"roleBase",2,RoleBase},    -- 个人信息
    {"desc",1,"string"},        -- 描述
    {"item",10,ItemData},       -- 奖励
    {"param",1,"int"},          -- 数值
}

GC_ABS_BILLBOARD_QUERY = {
    {"rankList",10,RankListNet},        -- 排名数据
    {"myRank",1,RankListNet},           -- 我的排名
    {"rewardList",10,RankListNet},      -- 奖励预览
    {"id",1,"int"}
}
---------------限时活动end ------------------

-- abs活动公共排行榜发送  现有:合服充值排行榜
AbsReachRankNet = {                          -- 排名信息
    {"rank",             1,          "int"},    -- 名次(-1未上榜)
    {"rankNeedValue",      1,        "int"},    -- 上榜条件值
    {"items",        5,         ItemData},      -- 排行名次奖励列表    
    {"uid",             1,          "string"},  -- 用户id(未上榜为"")
    {"name",            1,          "string"},  -- 角色名(未上榜为"")
    {"head",            1,          "int"},     -- 头像(未上榜为-1)  
    {"rankValue",        1,          "double"},    -- 当前排名值     
    {"headFrame",        1,          "int"},    -- 头像框(未上榜为-1)        
    {"lv",              1,          "int"},     -- 等级(未上榜为-1)    
}
AbsReachRankOnwerNet = {                        -- 我的信息
    {"rank",             1,          "int"},    -- 名次(-1未上榜)
    {"rankValue",        1,          "double"},    -- 当前排名值
    {"items",           5,         ItemData},   -- 档位奖励列表(未上榜没有奖励) 
}
AbsReachRankTypeNet = {
    {"funcRankType", 1, "byte"},                -- 活动下某个排行类型(1每日排名,2累计排名,3 冰龙)
    {"leftTime",     1, "int"},                 -- 结算剩余时间
    {"list",    10,  AbsReachRankNet},          -- 排名信息
    {"onwerData",1,  AbsReachRankOnwerNet},     -- 我的信息
}
GC_ABS_REACH_RANK_QUERY = {                     -- 发送abs公共排行榜信息                     
    {"actId",   1,  "int"},                     -- 活动id
    {"list",    2,  AbsReachRankTypeNet},       -- 活动类型下多个排名数据
}

CG_ABS_REACH_RANK_REWARD_QUERY = {              -- 请求ABS公共排名活动发送详情
    {"actId",   1,  "int"},                     -- 活动id
    {"funcRankType", 1, "byte"},                -- 活动下某个排行类型(1每日排名,2累计排名)
}
AbsReachRankRewardNet = {                       -- 奖励详情列表
    {"minRank",             1,          "int"}, -- 最小排名
    {"maxRank",             1,          "int"}, -- 最大排名
    {"rankNeedValue",      1,        "int"},    -- 上榜条件值
    {"items",           5,         ItemData},   -- 档位区间奖励列表
} 
GC_ABS_REACH_RANK_REWARD_QUERY = {              -- 发送ABS公共排名活动发送详情
    {"actId",   1,  "int"},                     -- 活动id
    {"funcRankType", 1, "byte"},                -- 活动下某个排行类型(1每日排名,2累计排名)
    {"list", 11, AbsReachRankRewardNet},        -- 奖励详情列表
}

GC_ABS_ICE_DRAGON_RANK_QUERY = {
  --  {"actId",   1,  "int"},                     -- 活动id
    {"list",    2,  AbsReachRankTypeNet},       -- 活动类型下多个排名数据
}
---------------合服活动end-------------------

-----------新增开服活动------------
AbsOpenServerTConsumeList = {
    {"id",              1,          "int"},     -- 档位id
    {"items",           5,          ItemData},  -- 此档位领取奖励列表
    {"needConsume",     1,          "int"},     -- 需要消耗数
    {"state",           1,          "byte"},    -- 此档位领取状态 (0不可领取,1可领,2已领)    
}
GC_ABS_OPEN_SERVER_REACH_QUERY = {       
    {"funcID",           1,          "int"},    -- 活动id
    {"type",            1,          "byte"},    -- 类型 1 钻石消耗   2 招募达标  3战力冲刺 
    {"value", 1, "int"},                        -- 达到的值
    {"list",  9, AbsOpenServerTConsumeList},    -- 档位列表信息  
    {"leftTime",    1,      "int"},             -- 剩余时间      
} 
CG_ABS_OPEN_SERVER_REACH_GET = {                    -- 累计活动档位领取
    {"funcID",           1,          "int"},    -- 活动id
    {"id",              1,          "int"},     -- 档位id
}
-----------新增开服活动------------


---------------感恩节活动-------------------
DailyFixedTaskNet = {
    {"item",5,ItemData},    -- 道具
    {"state",1,"byte"},     -- 状态 0 未完成  1 可领取 2 已领取
    {"needCnt",1,"int"},    -- 需要完成数量
    {"nowCnt",1,"int"},     -- 当前完成数量
    {"desc",1,"string"},    -- 描述
    {"day",1,"byte"},       -- 第几天
    {"giftId",1,"int"},     -- 奖励id
}

GC_ABS_DAILY_FIXED_TASK_QUERY = {
    {"netList",5,DailyFixedTaskNet}
}

CG_ABS_DAILY_FIXED_TASK_GET = {
    {"actId",1,"int"},
    {"giftId",1,"int"}
}

FSDCardItem = {
    {"item",10,ItemData},       -- 每天道具
}

FestvialSevenDayCardNet = {
    {"dayItem",7,FSDCardItem},      -- 道具
    {"buyItem",1,BuyItem},          -- 购买信息
    {"state",1,"byte"},             -- 
}

GC_ABS_FESTVIAL_SEVENDAY_CARD_QUERY = {
    {"netList",5,FestvialSevenDayCardNet}
}

---------------感恩节活动end----------------

-----------元宵节活动Start------------
valentineDayNet = {
    {"id", 1, "int"},               -- 活动id
    {"funcID", 1, "int"},           -- funcId
    {"day", 1, "int"},              -- 第几天
    {"signItems", 5, ItemData},     -- 签到奖励
    {"signStatus", 1, "byte"},      -- 签到奖励领取状态 0未签到，1已签到，2不可签到
    {"giftItems", 10, ItemData},    -- 专属奖励
    {"giftStatus", 1, "byte"},      -- 专属奖励领取状态 0未签到，1已签到，2不可签到
}

GC_ABS_SIGNGIFT_QUERY = {
    {"buyStatus", 1, "int"},        -- 礼包购买状态
    {"list", 3, valentineDayNet},
    {"buyItem", 1,  BuyItem},       --礼包的价格
    {"curDay", 1, "byte"},           --当前第几天
}

CG_ABS_SIGNGIFT_REWARD = {
    {"id",      1,  "int"},     -- 活动id
    {"funcID",  1,  "int"},     --礼包ID
    {"type",    1, "byte"},     --礼包类型 1签到礼包 2专属礼包
}

-----------元宵节活动End------------