|
|
- require("game.proto.331.Require331")
- require("game.proto.332.Require332")
- require("game.customActivity.CustomActivityConst")
- require("game.customActivity.CustomActivityModel")
-
-
- --定制活动
- CustomActivityController = CustomActivityController or BaseClass(BaseController)
-
- function CustomActivityController:__init()
- CustomActivityController.Instance = self
- self.model = CustomActivityModel:getInstance()
-
- self:EnableCheckoutClear()
- self:addAllEvents()
- self:registerAllProtocals()
- end
-
- function CustomActivityController:addAllEvents()
- local function onLevelUp(lv)
- local role_lv = RoleManager.Instance.mainRoleInfo.level
- end
- RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
-
- local function onStartGame()
- self.model:ResetInfo()
- self.model:Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33101)
- end
- GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT, onStartGame)
-
- -- 在我一直处于登录状态时 跨天的时候 请求一次所有的活动数据
- local function onChangeDayUpdate()
- -- self.model:Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33101)
- end
- EventSystem.Bind(GlobalEventSystem,ServerTimeModel.DAY_CHANGE, onChangeDayUpdate)
-
- --获取活动奖励[通用]
- local function get_act_reward_func(base_type, sub_type, reward_id)
- sub_type = sub_type or self.model:getActMinSubType(base_type)
- self.model:Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33105, base_type, sub_type, reward_id)
- end
- GlobalEventSystem:Bind(EventName.GET_ACT_REWARD, get_act_reward_func)
-
- local function onSendCmdFunc( ... )
- local args_list = {...}
- if args_list[1] == 33104 or args_list[1] == 33611 or args_list[1] == 33613 then --获取奖励领取状态(通用)
- self:SendFmtToGame(args_list[1], "hh", args_list[2], args_list[3])
- elseif args_list[1] == 33105 or args_list[1] == 33109 or args_list[1] == 33612 then --领取活动奖励(通用)/抽奖概率配置读取
- self:SendFmtToGame(args_list[1], "hhh", args_list[2], args_list[3], args_list[4])
- elseif args_list[1] == 33106 then --特殊记录全服领取的奖励总数
- self:SendFmtToGame(args_list[1], "hhhh", args_list[2], args_list[3], args_list[4],args_list[5])
- elseif args_list[1] == 33107 then --累计消费活动信息
- self:SendFmtToGame(args_list[1], "hh", args_list[2], args_list[3])
- elseif args_list[1] == 33181 or args_list[1] == 33179 then
- self:SendFmtToGame(args_list[1], "h", args_list[2])
- elseif args_list[1] == 33183 then
- self:SendFmtToGame(args_list[1], "cc", args_list[2], args_list[3])
- elseif args_list[1] == 33184 then
- local validation_data = self.model:GetPelletEventValidationData()
- if validation_data and validation_data.errcode == 1 then -- 获取验证数据
- local time = validation_data.time % 1000 -- time只取后三位
- local draw_key = validation_data.draw_key
- local draw_result = args_list[2]
- local sub_type = args_list[3]
- local role_id = RoleManager.Instance.mainRoleInfo.role_id
- local md5_sign = string.lower(Util.md5(role_id .. draw_key .. sub_type .. draw_result .. time))
- self:SendFmtToGame(args_list[1], "cs", draw_result, md5_sign)
- end
- else
- self:SendFmtToGame(args_list[1])
- end
- end
- self.model:Bind(CustomActivityModel.PROTO_CCMD_EVENT, onSendCmdFunc)
-
- local function change_day_func(type)
- if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
- for base_type,v in pairs(self.model.act_com_red_award_info) do
- for sub_type,vv in pairs(v) do
- CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33611, base_type, sub_type)
- end
- end
- end
- end
- GlobalEventSystem:Bind(EventName.CHANE_DAY, change_day_func)
- end
-
- function CustomActivityController:registerAllProtocals()
- self:RegisterProtocal(33100, "Handler33100")--错误码展示
- self:RegisterProtocal(33101, "Handler33101")--获取活动列表(登陆请求)
- self:RegisterProtocal(33102, "Handler33102")--活动开启推送
- self:RegisterProtocal(33103, "Handler33103")--活动结束
- self:RegisterProtocal(33104, "Handler33104")--获取奖励领取状态(通用活动)
- self:RegisterProtocal(33105, "Handler33105")--获取奖励领取状态(通用活动)
- self:RegisterProtocal(33106, "Handler33106")--特殊记录全服领取的奖励总数
- self:RegisterProtocal(33109, "Handler33109")--抽奖概率配置读取
-
-
- self:RegisterProtocal(33179, "Handler33179")--弹珠活动抽奖
- self:RegisterProtocal(33180, "Handler33180")--弹珠活动状态查询/推送
- self:RegisterProtocal(33181, "Handler33181")--弹珠活动领取次数奖励
- self:RegisterProtocal(33182, "Handler33182")--部分活动数据变更(通用活动)
- self:RegisterProtocal(33183, "Handler33183")--弹珠抽奖日志查询
- self:RegisterProtocal(33184, "Handler33184")--弹珠抽奖结果提交
-
- self:RegisterProtocal(33611, "Handler33611")--活动通用红点小奖励信息(通用活动)
- self:RegisterProtocal(33612, "Handler33612")--活动通用红点奖励领取
- self:RegisterProtocal(33613, "Handler33613")--活动通用奖励一键领取
-
- --旧活动协议暂时屏蔽
- -- self:RegisterProtocal(33107, "Handler33107")
- -- self:RegisterProtocal(33108, "Handler33108")
- -- self:RegisterProtocal(33110, "Handler33110")
- -- self:RegisterProtocal(33111, "Handler33111")
- -- self:RegisterProtocal(33112, "Handler33112")
- -- self:RegisterProtocal(33113, "Handler33113")
- -- self:RegisterProtocal(33114, "Handler33114")
- -- self:RegisterProtocal(33115, "Handler33115")
- -- self:RegisterProtocal(33118, "Handler33118")
- -- self:RegisterProtocal(33120, "Handler33120")
- -- self:RegisterProtocal(33121, "Handler33121")
- -- self:RegisterProtocal(33122, "Handler33122")
- -- self:RegisterProtocal(33123, "Handler33123")
- -- self:RegisterProtocal(33124, "Handler33124")
- -- self:RegisterProtocal(33125, "Handler33125")
- -- self:RegisterProtocal(33129, "Handler33129")
- -- self:RegisterProtocal(33130, "Handler33130")
- -- self:RegisterProtocal(33131, "Handler33131")
- -- self:RegisterProtocal(33132, "Handler33132")
- -- self:RegisterProtocal(33141, "Handler33141")
- -- self:RegisterProtocal(33142, "Handler33142")
- -- self:RegisterProtocal(33143, "Handler33143")
- -- self:RegisterProtocal(33145, "Handler33145")
- -- self:RegisterProtocal(33146, "Handler33146")
- -- self:RegisterProtocal(33140, "Handler33140")
- -- self:RegisterProtocal(33148, "Handler33148")
- -- self:RegisterProtocal(33149, "Handler33149")
- -- self:RegisterProtocal(33150, "Handler33150")
- -- self:RegisterProtocal(33151, "Handler33151")
- -- self:RegisterProtocal(33152, "Handler33152")
- -- self:RegisterProtocal(33153, "Handler33153")
- -- self:RegisterProtocal(33154, "Handler33154")
- -- self:RegisterProtocal(33155, "Handler33155")
- -- self:RegisterProtocal(33156, "Handler33156")
- -- self:RegisterProtocal(33157, "Handler33157")
- -- self:RegisterProtocal(33158, "Handler33158")
- -- self:RegisterProtocal(33160, "Handler33160")
- -- self:RegisterProtocal(33161, "Handler33161")
- -- self:RegisterProtocal(33167, "Handler33167")
- -- self:RegisterProtocal(33162, "Handler33162")
- -- self:RegisterProtocal(33163, "Handler33163")
- -- self:RegisterProtocal(33136, "Handler33136")
- -- self:RegisterProtocal(33137, "Handler33137")
- -- self:RegisterProtocal(33138, "Handler33138")
- -- self:RegisterProtocal(33164, "Handler33164")
- -- self:RegisterProtocal(33180, "Handler33180")
- -- self:RegisterProtocal(33181, "Handler33181")
- -- self:RegisterProtocal(33182, "Handler33182")
- -- self:RegisterProtocal(33183, "Handler33183")
- -- self:RegisterProtocal(33184, "Handler33184")
- -- self:RegisterProtocal(33185, "Handler33185")
- -- self:RegisterProtocal(33186, "Handler33186")
- -- self:RegisterProtocal(33187, "Handler33187")
- -- self:RegisterProtocal(33188, "Handler33188")
- -- self:RegisterProtocal(33195, "Handler33195")
- -- self:RegisterProtocal(33177, "Handler33177")
- -- self:RegisterProtocal(33178, "Handler33178")
- -- self:RegisterProtocal(33189, "Handler33189")
- -- self:RegisterProtocal(33116, "Handler33116")
- -- self:RegisterProtocal(33117, "Handler33117")
- -- self:RegisterProtocal(33135, "Handler33135")
- -- self:RegisterProtocal(33134, "Handler33134")
- -- --周一大放送
- -- self:RegisterProtocal(33196, "Handler33196")
- -- self:RegisterProtocal(33197, "Handler33197")
- -- self:RegisterProtocal(33198, "Handler33198")
- -- self:RegisterProtocal(33199, "Handler33199")
- -- self:RegisterProtocal(33204, "Handler33204")
-
- -- self:RegisterProtocal(33201, "Handler33201")
- -- self:RegisterProtocal(33202, "Handler33202")
- -- self:RegisterProtocal(33203, "Handler33203")
- -- self:RegisterProtocal(33205, "Handler33205")
- -- self:RegisterProtocal(33206, "Handler33206")
- -- self:RegisterProtocal(33207, "Handler33207")
- -- self:RegisterProtocal(33212, "Handler33212")
- -- self:RegisterProtocal(33213, "Handler33213")
- -- self:RegisterProtocal(33159, "Handler33159")
- -- self:RegisterProtocal(33214, "Handler33214")
- -- self:RegisterProtocal(33215, "Handler33215")
- -- self:RegisterProtocal(33216, "Handler33216")
- -- self:RegisterProtocal(33217, "Handler33217")
- -- self:RegisterProtocal(33218, "Handler33218")
- -- self:RegisterProtocal(33119, "Handler33119")
- end
-
- --错误码展示
- function CustomActivityController:Handler33100()
- local vo = SCMD33100.New(true)
- if vo.error_code ~= 3310001 then
- ErrorCodeShow(vo.error_code)
- end
- --重置翻牌
- self.model.lucky_card_is_flopping = false
- end
-
- --活动列表[请求]
- function CustomActivityController:Handler33101()
- local vo = SCMD33101.New(true)
- self.model:handleActVo(vo, true)
- for k,v in pairs(vo.list) do
- print("33101 add activity ", v.base_type, v.sub_type, v.act_type)
- end
- end
-
- --新活动列表[推送]
- function CustomActivityController:Handler33102()
- local vo = SCMD33102.New(true)
- self.model:handleActVo(vo)
- for k,v in pairs(vo.list) do
- print("33102 add activity ", v.base_type, v.sub_type, v.etime)
- end
- end
-
- --删除活动[推送]
- function CustomActivityController:Handler33103()
- local vo = SCMD33103.New(true)
- self.model:clearActInfo(vo)
- -- for k,v in pairs(vo.list) do
- -- print("close activity ", v.base_type, v.sub_type)
- -- end
- end
-
- --获取奖励领取状态(通用)
- function CustomActivityController:Handler33104()
- local vo = SCMD33104.New(true)
- -- PrintTable(vo)
- self.model:setActRewardList(vo)
- end
-
- --领取活动奖励(通用)
- function CustomActivityController:Handler33105()
- local vo = SCMD33105.New(true)
- if vo.errcode == 1 then
- self.model:handleSuccessGetReward(vo)
- else
- if vo.errcode == 1001 then
- GlobalEventSystem:Fire(EventName.OPEN_RECHARGE_TIP_VIEW, true)
- else
- ErrorCodeShow(vo.errcode)
- end
- end
- end
-
- function CustomActivityController:Handler33106()
- local vo = SCMD33106.New(true)
- if vo.base_type == 4 then
- self.model:Fire(CustomActivityModel.UPDATE_COLLECTING_EXCHANGE_NUM,vo)
- end
- end
-
- --累计消费活动
- function CustomActivityController:Handler33107()
- local vo = SCMD33107.New(true)
- self.model:SetAccConsumeInfo(vo)
- end
-
- -- ##############抽奖概率配置读取###############
- -- protocol=33109
- -- {
- -- c2s{
- -- module:int16
- -- sub_mod:int16
- -- sub_act:int16
- -- }
- -- s2c{
- -- module:int16
- -- sub_mod:int16
- -- sub_act:int16
- -- rates:array{
- -- awardid:int16
- -- name:string
- -- goods_name:string
- -- radio:int16
- -- }
- -- }
- -- }
- function CustomActivityController:Handler33109()
- local vo = SCMD33109.New(true)
- print("huangcong:CustomActivityController [start:261] vo:", vo)
- PrintTable(vo)
- print("huangcong:CustomActivityController [end]")
- self.model:Fire(EventName.UPDATE_LUCKY_RADIO_VIEW,vo.rates)
- end
-
- --弹珠活动抽奖
- function CustomActivityController:Handler33179()
- local vo = SCMD33179.New(true)
- -- 弹珠机增加抽奖验证,这里缓存抽奖验证数据
- self.model:SetPelletEventValidationData(vo)
- RechargeActivityModel:getInstance():Fire(RechargeActivityModel.UPDATE_PELLET_VALIDATION)
- if vo.errcode ~= 1 then
- ErrorCodeShow(vo.errcode)
- end
- end
-
- --弹珠活动状态查询/推送
- function CustomActivityController:Handler33180()
- local vo = SCMD33180.New(true)
- RechargeActivityModel:getInstance():SetPelletBasicInfo(vo)
- RechargeActivityModel:getInstance():Fire(RechargeActivityModel.UPDATE_PELLET_INFO,vo)
- RechargeActivityModel:getInstance():CheckDailyRechargeAllMainIconRedDot()
- end
-
- --弹珠活动领取次数奖励
- function CustomActivityController:Handler33181()
- local vo = SCMD33181.New(true)
- if vo.errcode == 1 then
- Message.show("领取成功!")
- GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
- else
- ErrorCodeShow(vo.errcode)
- end
- end
-
- --部分活动数据变更(通用活动)
- function CustomActivityController:Handler33182( )
- local vo = SCMD33182.New(true)
- self.model:RefreshActSomeData(vo)
- end
-
- --弹珠抽奖日志查询
- function CustomActivityController:Handler33183( )
- local vo = SCMD33183.New(true)
- RechargeActivityModel:getInstance():SetPelletRecordInfo(vo)
- RechargeActivityModel:getInstance():Fire(RechargeActivityModel.ANS_PELLET_RECORD_INFO)
- end
-
- function CustomActivityController:Handler33184( )
- local vo = SCMD33184.New(true)
- if vo.errcode == 1 then
- -- 清空弹珠机的验证数据
- self.model:SetPelletEventValidationData(nil)
- RechargeActivityModel:getInstance():Fire(RechargeActivityModel.PELLET_VALIDATION_SUCCEED)
- else
- ErrorCodeShow(vo.errcode)
- end
- end
-
-
- -- ########### 活动通用红点小奖励信息(通用活动) ##############
- -- protocol=33611
- -- {
- -- c2s{
- -- base_type :int16 // 活动主类型
- -- sub_type :int16 // 活动子类型
- -- }
- -- s2c{
- -- base_type :int16 // 活动主类型
- -- sub_type :int16 // 活动子类型
- -- reward_type :int8 // 奖励类型1是每日一次 2是活动期间一次
- -- status :int8 // 领取状态 1:可以领取 2:已经领取(red_gift状态)
- -- tab_list:array{
- -- grade :int16 // 奖励档次
- -- status :int8 // 领取状态 1:可以领取 2:已经领取(tab_gift状态)
- -- }
- -- }
- -- }
- function CustomActivityController:Handler33611( )
- local vo = SCMD33611.New(true)
- -- print("huangcong:CustomActivityController [start:368] vo:", vo)
- -- PrintTable(vo)
- -- print("huangcong:CustomActivityController [end]")
- self.model:SetActComAwardInfo(vo)
- end
-
- -- ########### 活动通用红点奖励领取 ##############
- -- protocol=33612
- -- {
- -- c2s{
- -- base_type :int16 // 活动主类型
- -- sub_type :int16 // 活动子类型
- -- grade :int16 // 奖励档次(red_gift状态传0)
- -- }
- -- s2c{
- -- base_type :int16 // 活动主类型
- -- sub_type :int16 // 活动子类型
- -- grade :int16 // 奖励档次(red_gift状态传0)
- -- errcode :int32 // 返回码
- -- }
- -- }
- function CustomActivityController:Handler33612( )
- local vo = SCMD33612.New(true)
- if vo.errcode == 1 then
- Message.show("领取成功!","success")
- local act_info = self.model:GetActComAwardInfo(vo.base_type,vo.sub_type)
- if act_info and act_info.tab_list then
- if vo.grade == 0 then
- act_info.status = 2
- else
- for i,v in ipairs(act_info.tab_list) do
- if v.grade == vo.grade then
- v.status = 2
- break
- end
- end
- end
- end
- self.model:Fire(CustomActivityModel.UPDATE_ACTIVITY_RED_AWARD_INFO,vo.base_type,vo.sub_type)
- else
- ErrorCodeShow(vo.errcode)
- end
- end
-
- -- ########### 活动通用红点奖励领取 ##############
- -- protocol=33613
- -- {
- -- c2s{
- -- base_type :int16 // 活动主类型
- -- sub_type :int16 // 活动子类型
- -- }
- -- s2c{
- -- base_type :int16 // 活动主类型
- -- sub_type :int16 // 活动子类型
- -- errcode :int32 // 返回码
- -- }
- -- }
- function CustomActivityController:Handler33613( )
- local vo = SCMD33613.New(true)
- if vo.errcode == 1 then
- Message.show("一键领取成功!","success")
- else
- ErrorCodeShow(vo.errcode)
- end
- end
|