源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1686 lines
63 KiB

  1. require("game.proto.225.Require225")
  2. require("game.proto.331.Require331")
  3. require("game.kfActivity.KfActivityModel")
  4. require("game.kfActivity.KfActivityConst")
  5. require("game.kfActivity.view.KfActivityBaseView")--开服活动主界面
  6. require("game.kfActivity.view.KfActivityBaseTab")--开服活动主界面tab
  7. --开服冲榜
  8. require("game.kfActivity.view.rushRank.KfActivityRRMainView")--冲榜排行二级界面
  9. require("game.kfActivity.view.rushRank.KfActivityRRSubView")--冲榜排行二级界面子界面
  10. require("game.kfActivity.view.rushRank.KfActivityRRSubItem")--冲榜排行二级界面子界面Item
  11. require("game.kfActivity.view.rushRank.KfActivityRRSubBtnItem")--冲榜排行二级界面子界面Btn
  12. require("game.kfActivity.view.rushRank.KfActivityRushRankView")--冲榜主界面
  13. require("game.kfActivity.view.rushRank.KfActivityRushRankAwardItem")--冲榜奖励item
  14. require("game.kfActivity.view.rushRank.KfActivityRushRankItem")--冲榜排名item
  15. require("game.kfActivity.view.rushRank.KfActivityRushRrankReCBtnItem")--冲榜排名快捷跳转item
  16. require("game.kfActivity.view.rushRank.KfActivityRushRrankTabItem")--冲榜切换页签
  17. require("game.kfActivity.view.rushRank.KfActivityRRLastTimeRankView")--开服活动上期排行榜
  18. require("game.kfActivity.view.rushRank.KfActivityRRLastTimeRankItem")--上期排行榜item
  19. require("game.kfActivity.view.rushRank.KfActivityRRLastReCBtnView")--冲榜升级变强途径
  20. --开服累充
  21. require("game.kfActivity.view.openRecharge.KfActivityOpenRechargeView")
  22. require("game.kfActivity.view.openRecharge.KfActivityOpenRechargeItem")
  23. --开服限购商城
  24. require("game.kfActivity.view.limitShop.KfActivityLimitShopView")
  25. require("game.kfActivity.view.limitShop.KfActivityLimitShopItem")
  26. require("game.kfActivity.view.limitShop.KfActivityLimitShopTip")
  27. require("game.kfActivity.view.limitShop.KfActivityLimitShopTipItem")
  28. --限购礼包
  29. require("game.kfActivity.view.limitGift.KfActivityLimitGiftSubView")
  30. require("game.kfActivity.view.limitGift.KfActivityLimitGiftSubTab")
  31. --开服进阶
  32. require("game.kfActivity.view.forsterStage.KfActivityForsterStageView")
  33. require("game.kfActivity.view.forsterStage.KfActivityForsterStageItem")
  34. --连充豪礼
  35. require("game.kfActivity.view.continueRecharge.KfActivityContinueRechargeViewNew")
  36. require("game.kfActivity.view.continueRecharge.KfActivityContinueRechargeItem")
  37. --0元礼包
  38. require("game.kfActivity.view.zeroGift.KfActivityZeroGiftSubView")
  39. require("game.kfActivity.view.zeroGift.KfActivityZeroGiftSubTab")
  40. require("game.kfActivity.view.zeroGift.KfActivityZeroGiftShowView")--0元礼包展示界面
  41. --开服团购
  42. require("game.kfActivity.view.groupBuying.KfGroupBuyingView")
  43. require("game.kfActivity.view.groupBuying.KfGroupBuyingItem")
  44. require("game.kfActivity.view.groupBuying.KfGroupBuyingDiscountItem")
  45. require("game.kfActivity.view.groupBuying.KfGroupBuyingShareView")--开服团购分享界面
  46. require("game.kfActivity.view.groupBuying.KfGroupBuyingShareItem")
  47. --单笔充值
  48. require("game.kfActivity.view.singleRecharge.KfActivitySingleRechargeView")
  49. require("game.kfActivity.view.singleRecharge.KfActivitySingleRechargeItem")
  50. --大富翁
  51. require("game.kfActivity.view.monopoly.KfMonopolyMainView")
  52. require("game.kfActivity.view.monopoly.KfMonopolyLuckyAwardItem")
  53. require("game.kfActivity.view.monopoly.KfMonopolyAwardCon")--大富翁宝箱类
  54. --竞榜
  55. require("game.kfActivity.view.competing.KfCompetingListMainView")
  56. require("game.kfActivity.view.competing.KfCompetingListCon")
  57. require("game.kfActivity.view.competing.KfCompetingListRecordTxt")
  58. require("game.kfActivity.view.competing.KfCompetingListAwardItem")
  59. require("game.kfActivity.view.competing.KfCompetingListItem")
  60. --累计消费
  61. require("game.kfActivity.view.accConsume.KfActivityAccConsumeView")
  62. require("game.kfActivity.view.accConsume.KfActivityAccConsumeItem")
  63. -- 奖励展示界面
  64. require("game.kfActivity.view.rewardShow.ActivityRewardShowView")
  65. require("game.kfActivity.view.rewardShow.ActivityRewardShowTabItem")
  66. require("game.kfActivity.view.rewardShow.ActivityRewardShowStyleItem")
  67. require("game.kfActivity.view.rewardShow.ActivityRewardShowItem")
  68. --嗨点活动
  69. require("game.kfActivity.view.highPoint.KfActHighPointView")
  70. require("game.kfActivity.view.highPoint.KfActHighPointAwardItem")
  71. require("game.kfActivity.view.highPoint.KfActHighPointTaskItem")
  72. -- 每日登录
  73. require("game.kfActivity.view.edayLogin.KfActivityEDayLoginView")
  74. require("game.kfActivity.view.edayLogin.KfActivityEDayLoginTaskItem")
  75. require("game.kfActivity.view.edayLogin.KfActivityEDayLoginRewardItem")
  76. -- 投资活动
  77. require("game.kfActivity.view.invest.KfActivityInvestmentView")
  78. require("game.kfActivity.view.invest.KfActivityInvestmentTabItem")
  79. require("game.kfActivity.view.invest.KfActivityInvestmentAwardItem")
  80. require("game.kfActivity.view.invest.KfActivityInvestmentAwardShowItem")
  81. --刮刮卡
  82. require("game.kfActivity.view.scrapingCard.KfActivityScrapingCardView")
  83. require("game.kfActivity.view.scrapingCard.KfActivityScrapingCardItem")
  84. require("game.kfActivity.view.scrapingCard.KfActivityScrapingCardTipsView")
  85. --限时秒杀
  86. require("game.kfActivity.view.limitSecKill.LimitSecKillView")
  87. require("game.kfActivity.view.limitSecKill.LimitSecKillTabItem")
  88. require("game.kfActivity.view.limitSecKill.LimitSecKillItem")
  89. require("game.kfActivity.view.limitSecKill.LimitSecKillBuyView")
  90. require("game.kfActivity.view.limitSecKill.LimitSecKillBuyRecordItem")--抢购界面的滚动记录
  91. require("game.kfActivity.view.limitSecKill.LimitSecKillRecordItem")--大界面的滚动记录
  92. --抢福袋/红包
  93. require("game.kfActivity.view.luckyBag.GetLuckyBagView")
  94. --惊喜红包
  95. require("game.kfActivity.view.happyRedBag.KfHappyRedBagView")
  96. require("game.kfActivity.view.happyRedBag.KfHappyRedBagRecordItem")
  97. --折扣满减
  98. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutView")
  99. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutGoodsItem")
  100. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutBuyItem")
  101. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutTicketItem")
  102. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutRecordView")
  103. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutRecordItem")
  104. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutRecordTip")
  105. require("game.kfActivity.view.discountFullCut.KfDiscountFullCutLuckyTableView")--折扣满减转盘界面
  106. --通用排行榜
  107. require("game.kfActivity.view.comRank.KfActivityComRankView")
  108. require("game.kfActivity.view.comRank.KfActivityComRankItem")
  109. require("game.kfActivity.view.comRank.KfActivityComRankAwardItem")
  110. --塔罗牌
  111. require("game.kfActivity.view.tarot.KfActivityTarotView")
  112. require("game.kfActivity.view.tarot.KfActivityTarotItem")
  113. require("game.kfActivity.view.tarot.KfActivityTarotRecordItem")
  114. --源晶复制机
  115. require("game.kfActivity.view.moneyCopy.KfMoneyCopyView")
  116. --登陆通行证
  117. require("game.kfActivity.view.loginPass.KfActivityLoginPassView")
  118. require("game.kfActivity.view.loginPass.KfActivityLoginPassItem")
  119. require("game.kfActivity.view.loginPass.KfActivityLoginPassBuyTip")
  120. --活跃通行证
  121. require("game.kfActivity.view.livelyPass.KfActivityLivelyPassView")
  122. require("game.kfActivity.view.livelyPass.KfActivityLivelyPassItem")
  123. --嗨点兑换活动
  124. require("game.kfActivity.view.highExchange.KfActHighExchangeView")
  125. require("game.kfActivity.view.highExchange.KfActHighPointShopItem")
  126. require("game.kfActivity.view.highExchange.KfActHighExchangeTaskItem")
  127. -- 活动引导
  128. require("game.kfActivity.view.actGuide.ActGuideBaseView")
  129. require("game.kfActivity.view.actGuide.ActGuideSubView")
  130. require("game.kfActivity.view.actGuide.ActGuideUseSubView")
  131. KfActivityController = KfActivityController or BaseClass(BaseController)
  132. KfActivityController.Is_Debug = false
  133. function KfActivityController:__init()
  134. KfActivityController.Instance = self
  135. self.model = KfActivityModel:getInstance()
  136. self.mainVo = RoleManager.Instance.mainRoleInfo
  137. self:RegisterAllProtocals()
  138. self:AddAllEvents()
  139. end
  140. function KfActivityController:__delete()
  141. end
  142. function KfActivityController:AddAllEvents()
  143. local function game_start_func()
  144. -- 重置礼包图标的气泡打开状态
  145. self.model.haveBubble = false
  146. end
  147. GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
  148. -- local function CheckRedPoint( ... )
  149. -- end
  150. -- GlobalEventSystem:Bind(GoodsModel.CHANGE_BAGLIST,game_start_func)
  151. local function onUpdateRedInfo(base_type,sub_type)--更新红点
  152. for i,v in ipairs(KfActivityModel.TabData) do
  153. if base_type == CustomActivityModel.CustomActBaseType.KF_GROUP_BUYING then
  154. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO,33223,sub_type)
  155. break
  156. elseif base_type == v.base_type then
  157. self.model:IsNeedRed(v.id,nil,sub_type)
  158. break
  159. end
  160. end
  161. end
  162. CustomActivityModel:getInstance():Bind(CustomActivityModel.UPDATE_ACTIVITY_INFO,onUpdateRedInfo)
  163. CustomActivityModel:getInstance():Bind(CustomActivityModel.UPDATE_ACTIVITY_RED_AWARD_INFO,onUpdateRedInfo)
  164. --请求协议
  165. local function onRequestProtocal(...)
  166. local args = {...}
  167. if KfActivityController.Is_Debug then
  168. if args[1] == 33228 or args[1] == 33229 then
  169. local fun_name = string.format("Handler%s",args[1])
  170. if self[fun_name] then
  171. print('----in KfActivityController.lua,line 96 request_idIs_Debug',args[1] , ...)
  172. self[fun_name](self,...)
  173. end
  174. return
  175. end
  176. end
  177. if args[1] == 22501 then
  178. self:SendFmtToGame(args[1], "ih", args[2],args[3])
  179. elseif args[1] == 22502 or args[1] == 33223 or args[1] == 33224
  180. or args[1] == 33228 or args[1] == 33230 --超级富豪信息/超级富豪补签
  181. or args[1] == 33141 or args[1] == 33187 or args[1] == 33189 -- 投资活动
  182. or args[1] == 33250 or args[1] == 33251 or args[1] == 33252 or args[1] == 33253 or args[1] == 33254
  183. or args[1] == 33126 or args[1] == 33127 or args[1] == 33128 or args[1] == 33130 or args[1] == 33146
  184. or args[1] == 33131 or args[1] == 33133 or args[1] == 33284 or args[1] == 33145
  185. then
  186. self:SendFmtToGame(args[1], "h", args[2])
  187. elseif args[1] == 22503 then
  188. self:SendFmtToGame(args[1], "ihc", args[2],args[3],args[4])
  189. elseif args[1] == 33185 or args[1] == 33191 or args[1] == 33169
  190. or args[1] == 33132 or args[1] == 33283 or args[1] == 33285
  191. or args[1] == 33286 or args[1] == 33140 or args[1] == 33289
  192. then --查询单个0元礼包/秒杀-抢购/封榜活动信息
  193. self:SendFmtToGame(args[1], "hh", args[2],args[3])
  194. elseif args[1] == 33186 then --0元礼包购买
  195. self:SendFmtToGame(args[1], "hhh", args[2],args[3],args[4])
  196. elseif args[1] == 33229 or args[1] == 33231 --超级富豪掷骰子/超级富豪领取圈数奖励
  197. or args[1] == 33142 or args[1] == 33188 -- 投资活动
  198. or args[1] == 33287 or args[1] == 33288
  199. then
  200. self:SendFmtToGame(args[1], "hc", args[2],args[3])
  201. elseif args[1] == 33144 then -- 投资活动
  202. self:SendFmtToGame(args[1], "hcc", args[2], args[3], args[4])
  203. elseif args[1] == 33192 or args[1] == 33168 then
  204. self:SendFmtToGame(args[1], "c", args[2])
  205. elseif args[1] == 33190 then
  206. self:SendFmtToGame(args[1], "hhc", args[2], args[3], args[4])
  207. elseif args[1] == 33129 then
  208. --折扣满减购买上牌
  209. self:WriteBegin(33129)
  210. self:WriteFMT("h", args[2])
  211. self:WriteFMT("h", TableSize(args[3]))
  212. for k, v in pairs(args[3]) do
  213. self:WriteFMT("h", v.grade)
  214. self:WriteFMT("c", v.num)
  215. end
  216. self:WriteFMT("i", args[4])
  217. self:WriteFMT("i", args[5])
  218. self:SendToGame()
  219. else
  220. self:SendFmtToGame(args[1])
  221. end
  222. end
  223. self.model:Bind(KfActivityModel.REQUEST_INFO, onRequestProtocal)
  224. local function init_open_day( ... )--开服天数初始化
  225. -- local openDay = ServerTimeModel:getInstance():GetOpenServerDay()
  226. -- local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY)
  227. -- print("Lizhijian:KfActivityController [start:255] openDay ------------------------------------------")
  228. -- print(openDay)
  229. -- print("Lizhijian:KfActivityController [start:257] act_list ------------------------------------------")
  230. -- PrintTable(act_list)
  231. -- for k,v in pairs(act_list) do
  232. -- local icon_sub_type = v.base_type*1000 + v.sub_type
  233. -- if v.sub_type >= 10001 then
  234. -- icon_sub_type = v.base_type*100000 + v.sub_type
  235. -- end
  236. -- ActivityIconManager:getInstance():deleteIcon(icon_sub_type)
  237. -- local icon_data = {vo = v, module_id = 331, sub_id = 99, pos_index = 9 + v.sub_type/10, icon_res_repath = "icon_154_2", name = "活动图标", effect_name = "ui_bianqiang",}
  238. -- CustomActivityModel:getInstance():CreateIconCfg(icon_data)
  239. -- KfActivityModel:getInstance():CheckActIconBoolOpen(v.sub_type)
  240. -- end
  241. -- if openDay == 5 then
  242. -- print("Lizhijian:KfActivityController [start:311] ------------------------------------------")
  243. -- local base_type = CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY
  244. -- local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {}
  245. -- for k, v in pairs(act_list) do
  246. -- if v.act_type == CustomActivityModel.CustomIconActType.GiftAct then--限时礼包类型
  247. -- print("Lizhijian:KfActivityController [start:315] ------------------------------------------")
  248. -- self.model:CheckActIconBoolOpen(v.sub_type)
  249. -- break
  250. -- end
  251. -- end
  252. -- end
  253. end
  254. GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
  255. --升级
  256. local function onLevelUp(level)
  257. self.model:CheckActIconLevelUp(level)
  258. -- 已弃用广告界面5.25
  259. -- if level == 70 then -- 满足条件展示广告界面
  260. -- KfActivityModel:getInstance():Fire(KfActivityModel.OPEN_ZERO_GIFT_SHOW_VIEW,1)
  261. -- end
  262. local bool,sub_type = self.model:IsLvCanBuyZeroGift(level)
  263. if bool then --0元礼包到达可买等级刷一次红点
  264. self.model:IsNeedRed(KfActivityModel.TabID.ZeroGift,nil,sub_type)
  265. end
  266. for k,v in pairs(CustomActivityModel.ZERO_GIFT_OPEN_lEVEL) do--0元礼包要随等级变化自动弹出
  267. if v[2] == level then
  268. GlobalEventSystem:Fire(KfActivityModel.OPEN_ACTIVITY_BASE_VIEW,v[1],KfActivityModel.TabID.ZeroGift)
  269. break
  270. end
  271. end
  272. if level == CustomActivityModel.ZERO_GIFT_OPEN_lEVEL then--0元礼包主动弹出
  273. GlobalEventSystem:Fire(KfActivityModel.OPEN_ACTIVITY_BASE_VIEW, v.sub_type)
  274. end
  275. local base_type = CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY
  276. local openDay = ServerTimeModel:getInstance():GetOpenServerDay()
  277. local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {}
  278. local close_level = 9999
  279. for k, v in pairs(act_list) do
  280. if v.act_type == CustomActivityModel.CustomIconActType.GiftAct then--限时礼包类型
  281. if level == 110 and openDay<= 4 then
  282. self.model:CheckActIconBoolOpen(v.sub_type)
  283. end
  284. for l,w in pairs(v.condition_list) do
  285. if type(w) == "table" and w[1] == "close_lv" then
  286. close_level = tonumber(w[2])
  287. break
  288. end
  289. end
  290. if close_level == level then--关闭图标
  291. self.model:CheckActIconBoolOpen(v.sub_type)
  292. CustomActivityModel:getInstance():UpdateActIconInfoActType()
  293. end
  294. end
  295. end
  296. if self.model.check_lv_act_open and self.model.check_lv_act_open[level] then
  297. --到等级的红点检查
  298. for k,v in pairs(self.model.check_lv_act_open[level]) do
  299. for kk,vv in pairs(v) do
  300. self.model:IsNeedRed(self.model:ByActTypeGetTabId( k ),nil,kk)
  301. end
  302. end
  303. end
  304. -- 活动引导检测
  305. self.model:CheckNeedShowActGuide("role_lv", level)
  306. end
  307. RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
  308. local function change_day_func(type)
  309. if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
  310. local openDay = ServerTimeModel:getInstance():GetOpenServerDay()
  311. local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY)
  312. for k,v in pairs(act_list) do
  313. local icon_sub_type = v.base_type*1000 + v.sub_type
  314. if v.sub_type >= 10001 then
  315. icon_sub_type = v.base_type*100000 + v.sub_type
  316. end
  317. ActivityIconManager:getInstance():deleteIcon(icon_sub_type)
  318. local icon_data = {vo = v, module_id = 331, sub_id = 99, pos_index = 9 + v.sub_type/10, icon_res_repath = "icon_154_2", name = "活动图标", effect_name = "ui_bianqiang",}
  319. CustomActivityModel:getInstance():CreateIconCfg(icon_data)
  320. KfActivityModel:getInstance():CheckActIconBoolOpen(v.sub_type)
  321. end
  322. if openDay == 5 then
  323. local base_type = CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY
  324. local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {}
  325. for k, v in pairs(act_list) do
  326. if v.act_type == CustomActivityModel.CustomIconActType.GiftAct then--限时礼包类型
  327. self.model:CheckActIconBoolOpen(v.sub_type)
  328. break
  329. end
  330. end
  331. end
  332. end
  333. end
  334. GlobalEventSystem:Bind(EventName.CHANE_DAY, change_day_func)
  335. local onKfActivityBaseView = function (icon_sub_type,id,is_close)--is_close关闭参数
  336. if is_close then--关闭就不要走奇怪的判断了
  337. if self.KfActivityBaseView and self.KfActivityBaseView:HasOpen() then
  338. self.KfActivityBaseView:Close()
  339. end
  340. return
  341. end
  342. local act_type = self.model:GetActType(icon_sub_type,id)
  343. local zeroGiftHaveOpen = self.model:GetZeroGiftFirstOpenCookie()
  344. if act_type == CustomActivityModel.CustomIconActType.JcAct and not zeroGiftHaveOpen then--零元礼包是否点击到活动图标 点击到要关闭气泡
  345. self.model:SetZeroGiftFirstOpenCookie(true)
  346. ActivityIconManager:getInstance():HideActivityIconDesc()
  347. end
  348. if not act_type then
  349. Message.show("活动未开启","fault")
  350. return
  351. end
  352. if id then
  353. local open_bool = self.model:CheckActivityIdOpen(act_type,id)--是否开启
  354. if not open_bool then
  355. Message.show("活动未开启","fault")
  356. return
  357. end
  358. end
  359. AdvertisementModel:getInstance():CheckAndShowActivityAd( id )-- 检查一下是否需要展示宣传图 并展示
  360. if self.KfActivityBaseView == nil then
  361. self.KfActivityBaseView = KfActivityBaseView.New(act_type)
  362. end
  363. if not is_close then
  364. if self.KfActivityBaseView:HasOpen() then
  365. -- 从不同act_type的活动界面跳转过来时重新加载界面
  366. if act_type ~= self.KfActivityBaseView.act_type then
  367. self.KfActivityBaseView:Close()
  368. self.KfActivityBaseView = KfActivityBaseView.New(act_type)
  369. self.KfActivityBaseView:Open(id)
  370. else
  371. self.KfActivityBaseView:UpdateView(id)
  372. end
  373. else
  374. BaseDungeonModel:getInstance():Fire(BaseDungeonModel.CLOSE_HALL_VIEW)--副本界面有时候会自动弹出 先关闭副本界面 否则套娃进不去
  375. self.KfActivityBaseView:Open(id)
  376. end
  377. end
  378. end
  379. GlobalEventSystem:Bind(KfActivityModel.OPEN_ACTIVITY_BASE_VIEW, onKfActivityBaseView)
  380. local onOpenKfActivityRRLastTimeRankView = function (id,sub_type,is_close)--往期排行
  381. if self.KfActivityRRLastTimeRankView == nil then
  382. self.KfActivityRRLastTimeRankView = KfActivityRRLastTimeRankView.New()
  383. end
  384. if self.KfActivityRRLastTimeRankView:HasOpen() and not is_close then
  385. -- self.KfActivityRRLastTimeRankView:UpdateView(id,sub_type)
  386. elseif not is_close then
  387. self.KfActivityRRLastTimeRankView:Open(id,sub_type)
  388. else
  389. self.KfActivityRRLastTimeRankView:Close()
  390. end
  391. end
  392. self.model:Bind(KfActivityModel.OPEN_RANK_SHOW_VIEW,onOpenKfActivityRRLastTimeRankView)
  393. local onOpenKfActivityRRLastReCBtnView = function (id,sub_type,is_close)--冲榜升级变强途径
  394. if self.KfActivityRRLastReCBtnView == nil then
  395. self.KfActivityRRLastReCBtnView = KfActivityRRLastReCBtnView.New()
  396. end
  397. if self.KfActivityRRLastReCBtnView:HasOpen() and not is_close then
  398. -- self.KfActivityRRLastReCBtnView:UpdateView(id,sub_type)
  399. elseif not is_close then
  400. self.KfActivityRRLastReCBtnView:Open(id,sub_type)
  401. else
  402. self.KfActivityRRLastReCBtnView:Close()
  403. end
  404. end
  405. self.model:Bind(KfActivityModel.OPEN_RANK_RE_CB_VIEW,onOpenKfActivityRRLastReCBtnView)
  406. local onOpenKfGroupBuyingShareView = function (sub_type,is_close,x,y)--往期排行
  407. if self.KfGroupBuyingShareView == nil then
  408. self.KfGroupBuyingShareView = KfGroupBuyingShareView.New()
  409. end
  410. if self.KfGroupBuyingShareView:HasOpen() and not is_close then
  411. -- self.KfGroupBuyingShareView:UpdateView(sub_type)
  412. elseif not is_close then
  413. self.KfGroupBuyingShareView:Open(sub_type,x,y)
  414. else
  415. self.KfGroupBuyingShareView:Close()
  416. end
  417. end
  418. self.model:Bind(KfActivityModel.OPEN_GROUP_BUYING_SHARE_VIEW,onOpenKfGroupBuyingShareView)
  419. local onOpenLimitSecKillBuyView = function (data, sub_type, is_close)--打开购买界面
  420. if self.LimitSecKillBuyView == nil then
  421. self.LimitSecKillBuyView = LimitSecKillBuyView.New()
  422. end
  423. if self.LimitSecKillBuyView:HasOpen() and not is_close then
  424. elseif not is_close then
  425. self.LimitSecKillBuyView:Open(data, sub_type)
  426. else
  427. self.LimitSecKillBuyView:Close()
  428. end
  429. end
  430. self.model:Bind(KfActivityModel.OPEN_LIMIT_SECKILL_BUY_VIEW,onOpenLimitSecKillBuyView)
  431. local function OPEN_SCRAOING_CARD_TIPS_VIEW_VIEW(d)
  432. if self.KfActivityScrapingCardTipsView == nil then
  433. self.KfActivityScrapingCardTipsView = KfActivityScrapingCardTipsView.New()
  434. end
  435. self.KfActivityScrapingCardTipsView:Open()
  436. self.KfActivityScrapingCardTipsView:SetData(d)
  437. end
  438. self.model:Bind(KfActivityModel.OPEN_SCRAOING_CARD_TIPS_VIEW_VIEW, OPEN_SCRAOING_CARD_TIPS_VIEW_VIEW)
  439. local function OPEN_DISCOUNT_FULL_CUT_HISTORY( sub_type )
  440. if not self.kfdiscountfullcutrecordview then
  441. self.kfdiscountfullcutrecordview = KfDiscountFullCutRecordView.New()
  442. self.kfdiscountfullcutrecordview:Open( sub_type )
  443. end
  444. end
  445. self.model:Bind(KfActivityModel.OPEN_DISCOUNT_FULL_CUT_HISTORY,OPEN_DISCOUNT_FULL_CUT_HISTORY)
  446. local function OPEN_DISCOUNT_FULL_CUT_HISTORY_TIP( data )
  447. if not self.kfdiscountfullcutrecordtip then
  448. self.kfdiscountfullcutrecordtip = KfDiscountFullCutRecordTip.New()
  449. self.kfdiscountfullcutrecordtip:Open( data )
  450. end
  451. end
  452. self.model:Bind(KfActivityModel.OPEN_DISCOUNT_FULL_CUT_HISTORY_TIP,OPEN_DISCOUNT_FULL_CUT_HISTORY_TIP)
  453. local function OpenKfDiscountFullCutLuckyTableView( sub_type )
  454. if not self.KfDiscountFullCutLuckyTableView then
  455. self.KfDiscountFullCutLuckyTableView = KfDiscountFullCutLuckyTableView.New()
  456. self.KfDiscountFullCutLuckyTableView:Open( sub_type )
  457. end
  458. end
  459. self.model:Bind(KfActivityModel.OPEN_DISCOUNT_FULL_CUT_LUCKY_VIEW,OpenKfDiscountFullCutLuckyTableView)
  460. local function OPEN_MONEY_COPY_VIEW( tag ,is_close )
  461. if is_close then
  462. if self.kfmoneycopyview then
  463. self.kfmoneycopyview:Close()
  464. end
  465. return
  466. end
  467. local sub_type = self.model:GetMoneyCopySubTypeByTag( tag )
  468. if not sub_type then return end
  469. if not self.kfmoneycopyview then
  470. self.kfmoneycopyview = KfMoneyCopyView.New()
  471. self.kfmoneycopyview:Open( sub_type )
  472. end
  473. end
  474. self.model:Bind(KfActivityModel.OPEN_MONEY_COPY_VIEW,OPEN_MONEY_COPY_VIEW)
  475. local function OPEN_PASS_ACT_BUY_TIP( base_type,sub_type ,is_close )
  476. if is_close then
  477. if self.kfactivityloginpassbuytip then
  478. self.kfactivityloginpassbuytip:Close()
  479. end
  480. return
  481. end
  482. if not self.kfactivityloginpassbuytip then
  483. self.kfactivityloginpassbuytip = KfActivityLoginPassBuyTip.New()
  484. self.kfactivityloginpassbuytip:Open( base_type,sub_type )
  485. end
  486. end
  487. self.model:Bind(KfActivityModel.OPEN_PASS_ACT_BUY_TIP,OPEN_PASS_ACT_BUY_TIP)
  488. local function onOpenKfActivityZeroGiftShowView( sub_type ,is_close )
  489. if is_close then
  490. if self.KfActivityZeroGiftShowView then
  491. self.KfActivityZeroGiftShowView:Close()
  492. end
  493. return
  494. end
  495. if not self.KfActivityZeroGiftShowView then
  496. self.KfActivityZeroGiftShowView = KfActivityZeroGiftShowView.New()
  497. self.KfActivityZeroGiftShowView:Open( sub_type )
  498. end
  499. end
  500. self.model:Bind(KfActivityModel.OPEN_ZERO_GIFT_SHOW_VIEW,onOpenKfActivityZeroGiftShowView)
  501. --检查团购红点数据
  502. local function checkGroupBuyRedInfo( ... )--有金钱变化就再检查一次吧
  503. local list = self.model.group_red_list or {}
  504. for k,v in pairs(list) do
  505. if v==false then
  506. self.model:CheckKfGroupBuyingRedDot(k)
  507. end
  508. end
  509. end
  510. RoleManager.Instance.mainRoleInfo:BindOne("jin",checkGroupBuyRedInfo)
  511. RoleManager.Instance.mainRoleInfo:BindOne("jinLock",checkGroupBuyRedInfo)
  512. local function checkKfLimitShopRedDot( ... )
  513. local sub_type = CustomActivityModel:getInstance():getActMinSubType(CustomActivityModel.CustomActBaseType.KFACTIVITY_LIMIT_SHOP)
  514. self.model:IsNeedRed(KfActivityModel.TabID.LimitShop,nil,sub_type)
  515. end
  516. RoleManager.Instance.mainRoleInfo:BindOne("vip_flag",checkKfLimitShopRedDot)
  517. RoleManager.Instance.mainRoleInfo:BindOne("jinLock",checkKfLimitShopRedDot)
  518. local function OPEN_ACT_GUIDE_BASE_VIEW( sub_type ,is_close, is_goods_vo )
  519. local sub_type = sub_type
  520. local goods_vo = false
  521. if is_goods_vo then
  522. sub_type = 5000 -- 走某个物品信息 的sub_type 与活动的区分开
  523. end
  524. self.actGuideBaseView = self.actGuideBaseView or {}
  525. if is_close then
  526. if self.actGuideBaseView[sub_type] then
  527. self.actGuideBaseView[sub_type]:Close()
  528. self.actGuideBaseView[sub_type] = nil
  529. end
  530. return
  531. end
  532. if is_goods_vo then -- 走某个物品信息
  533. -- if self.actGuideBaseView[sub_type] and self.actGuideBaseView[sub_type]:HasOpen() then -- 正在展示就先返回
  534. -- return
  535. -- end
  536. goods_vo = self.model:GetActGuideAddGoodsData()
  537. if not goods_vo then
  538. return
  539. end
  540. else -- 走活动
  541. -- 要根据类型和对应物品判断一下是否弹
  542. local act_data = CustomActivityModel:getInstance():getActList(CustomActivityModel.CustomActBaseType.ACT_GUIDE, sub_type)
  543. if not act_data then -- 没数据 返回
  544. return
  545. end
  546. local need_show = false
  547. if act_data.good then
  548. local count = GoodsModel:getInstance():GetTypeGoodsNum( tonumber(act_data.good) )
  549. --print('=======Msh:KfActivityController.lua[605] =======', act_data.good, count, act_data.type)
  550. if (count > 0 and act_data.type == 2) or (count == 0 and act_data.type == 1) then
  551. need_show = true
  552. end
  553. end
  554. if not need_show then -- 不满足弹的条件 返回
  555. --print('=======Msh:KfActivityController.lua[611] ===没打开====', data)
  556. return
  557. end
  558. end
  559. --print('=======Msh:KfActivityController.lua[614] ===打开了====', data)
  560. if not self.actGuideBaseView[sub_type] then
  561. self.actGuideBaseView[sub_type] = ActGuideBaseView.New()
  562. end
  563. if not self.actGuideBaseView[sub_type]:HasOpen() then
  564. self.actGuideBaseView[sub_type]:Open( sub_type, goods_vo )
  565. else
  566. self.actGuideBaseView[sub_type]:UpdateView(sub_type, goods_vo)
  567. end
  568. end
  569. self.model:Bind(KfActivityModel.OPEN_ACT_GUIDE_BASE_VIEW, OPEN_ACT_GUIDE_BASE_VIEW)
  570. end
  571. function KfActivityController:RegisterAllProtocals()
  572. self:RegisterProtocal(22500,"handler22500") --错误码展示
  573. self:RegisterProtocal(22501,"handler22501") --冲榜榜单信息
  574. self:RegisterProtocal(22502,"handler22502") --目标奖励信息
  575. self:RegisterProtocal(22503,"handler22503") --领取奖励
  576. self:RegisterProtocal(15957,"handler15957") --从开始时间当天0点到目前的充值总额
  577. self:RegisterProtocal(33185, "Handler33185")--查询单个0元礼包
  578. self:RegisterProtocal(33186, "Handler33186")--0元礼包购买
  579. --开服团购
  580. self:RegisterProtocal(33223, "Handler33223")--查询单个开服团购活动信息
  581. self:RegisterProtocal(33224, "Handler33224")--开服团购分享
  582. --大富翁
  583. self:RegisterProtocal(33228, "Handler33228")--超级富豪 信息
  584. self:RegisterProtocal(33229, "Handler33229")--超级富豪 掷骰子
  585. self:RegisterProtocal(33230, "Handler33230")--超级富豪 补签
  586. self:RegisterProtocal(33231, "Handler33231")--超级富豪 领取圈数奖励
  587. --嗨点活动信息
  588. self:RegisterProtocal(33140, "Handler33140")--嗨点活动信息
  589. self:RegisterProtocal(33289, "Handler33289")--嗨点信息推送
  590. -- 投资活动信息
  591. self:RegisterProtocal(33141, "Handler33141")--投资活动信息
  592. self:RegisterProtocal(33142, "Handler33142")--投资活动投资
  593. self:RegisterProtocal(33144, "Handler33144")--投资领取
  594. --小额连充
  595. self:RegisterProtocal(33145, "Handler33145")--小额连充充值和已补签次数
  596. self:RegisterProtocal(33146, "Handler33146")--小额连充补签
  597. -- 抢红包
  598. self:RegisterProtocal(33168, "Handler33168")--抢红包
  599. --通用排行
  600. self:RegisterProtocal(33169, "Handler33169")--通用排行榜封榜活动信息
  601. --限时秒杀
  602. self:RegisterProtocal(33187, "Handler33187")--秒杀-打开秒杀界面
  603. self:RegisterProtocal(33188, "Handler33188")--秒杀-打开秒杀界面-各场次数据
  604. self:RegisterProtocal(33189, "Handler33189")--秒杀-购买记录
  605. self:RegisterProtocal(33190, "Handler33190")--秒杀-打开抢购界面
  606. self:RegisterProtocal(33191, "Handler33191")--秒杀-抢购
  607. self:RegisterProtocal(33192, "Handler33192")--秒杀-订阅
  608. self:RegisterProtocal(33193, "Handler33193")--秒杀-订阅主推-商品购买情况-更新单个商品数量和记录
  609. self:RegisterProtocal(33194, "Handler33194")--秒杀-场次开启
  610. --惊喜红包
  611. self:RegisterProtocal(33250, "Handler33250")--惊喜红包-基础信息
  612. self:RegisterProtocal(33251, "Handler33251")--惊喜红包-抽取奖励
  613. self:RegisterProtocal(33252, "Handler33252")--惊喜红包-领取奖励
  614. self:RegisterProtocal(33253, "Handler33253")--惊喜红包-全服记录
  615. self:RegisterProtocal(33254, "Handler33254")--惊喜红包-领取宝箱
  616. self:RegisterProtocal(33126, "Handler33126")--折扣满减-信息
  617. self:RegisterProtocal(33127, "Handler33127")--折扣满减-购买记录
  618. self:RegisterProtocal(33128, "Handler33128")--折扣满减-抽奖
  619. self:RegisterProtocal(33129, "Handler33129")--折扣满减-购买商品
  620. self:RegisterProtocal(33130, "Handler33130")--折扣满减-抽奖转盘信息
  621. self:RegisterProtocal(33131, "Handler33131")--彩钻复制机-基础信息
  622. self:RegisterProtocal(33132, "Handler33132")--彩钻复制机-购买存金
  623. self:RegisterProtocal(33133, "Handler33133")--彩钻复制机-领取利息
  624. self:RegisterProtocal(33283, "Handler33283")--通行证-活动信息
  625. self:RegisterProtocal(33285, "Handler33285")--通行证-购买王牌宝典
  626. self:RegisterProtocal(33286, "Handler33286")--通行证-奖励信息
  627. self:RegisterProtocal(33284, "Handler33284")--活跃通行证-奖励领取
  628. self:RegisterProtocal(33287, "Handler33287")--登录通行证-奖励领取
  629. self:RegisterProtocal(33288, "Handler33288")--登录通行证-补签
  630. end
  631. -- ########### 错误码展示 ##############
  632. -- protocol=22500
  633. -- {
  634. -- s2c{
  635. -- code:int32
  636. -- }
  637. -- }
  638. function KfActivityController:handler22500()
  639. local scmd = SCMD22500.New(true)
  640. print("22500scmd", scmd.code)
  641. ErrorCodeShow(scmd.code)
  642. end
  643. -- ########### 冲榜榜单信息 ##############
  644. -- protocol=22501
  645. -- {
  646. -- c2s{
  647. -- type :int32 // 请求的排行榜类型
  648. -- sub_type :int16 // 活动子类
  649. -- }
  650. -- s2c{
  651. -- sub_type :int16 // 活动子类
  652. -- rank_type :int32
  653. -- sel_rank :int32 // 请求者排行 0为未上榜
  654. -- sel_val1 :int32 // 自己的值1
  655. -- sel_val2 :int32 // 自己的值2
  656. -- sum :int32 // 排行榜总人数
  657. -- max_len :int16 // 最大长度
  658. -- rank_limit :int32 // 上榜阈值
  659. -- rank_list:array{
  660. -- player_id :int64
  661. -- name :string
  662. -- value1 :int32 //主数据
  663. -- value2 :int32 //二级数据
  664. -- value3 :int32 //三级数据
  665. -- rank :int16 //排名
  666. -- vip_flag :int8 //vip
  667. -- sup_vip_type :int8 //贵族
  668. -- }
  669. -- }
  670. -- }
  671. function KfActivityController:handler22501()
  672. local scmd = SCMD22501.New(true)
  673. -- print("22501冲榜榜单信息")
  674. -- PrintTable(scmd)
  675. self.model:SetRushRankInfo(scmd)
  676. end
  677. -- ########### 目标奖励信息 ##############
  678. -- protocol=22502
  679. -- {
  680. -- c2s{
  681. -- sub_type :int16 // 活动子类
  682. -- }
  683. -- s2c{
  684. -- sub_type :int16 // 活动子类
  685. -- goal_list:array{
  686. -- rank_type :int32 // 榜单类型
  687. -- goal :int16 // 目标奖励id
  688. -- goal_sum :int16 // 总目标数量
  689. -- state :int8 // 领取状态 0不可领 1 可领 2 完成
  690. -- }
  691. -- }
  692. -- }
  693. function KfActivityController:handler22502()
  694. local scmd = SCMD22502.New(true)
  695. print("22502目标奖励信息",#scmd.goal_list)
  696. -- PrintTable(scmd)
  697. self.model:SetTargetRewardList(scmd)
  698. end
  699. -- ########### 领取奖励 ##############
  700. -- protocol=22503
  701. -- {
  702. -- c2s{
  703. -- type :int32 // 请求的排行榜类型
  704. -- sub_type :int16 // 活动子类
  705. -- goal :int8 // 目标奖励id
  706. -- }
  707. -- s2c{
  708. -- errcode :int32 // 1 成功
  709. -- sub_type :int16
  710. -- }
  711. -- }
  712. function KfActivityController:handler22503()
  713. local scmd = SCMD22503.New(true)
  714. if scmd.errcode == 1 then
  715. Message.show("领取成功","success")
  716. self.model:Fire(KfActivityModel.REQUEST_INFO, 22502, scmd.sub_type)
  717. else
  718. ErrorCodeShow(scmd.errcode)
  719. end
  720. end
  721. -- ########### 从开始时间当天0点到目前的充值总额 ##########
  722. -- protocol=15957
  723. -- {
  724. -- c2s{
  725. -- type:int16 // 主类型
  726. -- subtype:int16 // 子类型
  727. -- start_time:int32 // 活动开启时间
  728. -- }
  729. -- s2c{
  730. -- type:int16 // 主类型
  731. -- subtype:int16 // 子类型
  732. -- total_gold:int32 //元宝数
  733. -- }
  734. -- }
  735. function KfActivityController:handle15957()
  736. local scmd = SCMD15957.New(true)
  737. -- print("huangcong:KfActivityController [start:186] :", scmd)
  738. -- PrintTable(scmd)
  739. -- print("huangcong:KfActivityController [end]")
  740. -- CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33104, vo.type, vo.subtype)
  741. -- self.model:SetSevenDayRecharge(vo.type, vo.subtype, vo.total_gold)
  742. end
  743. -- ########## 查询单个0元礼包 ###########
  744. -- protocol=33185
  745. -- {
  746. -- c2s{
  747. -- base_type :int16 // 活动主类型
  748. -- sub_type :int16 // 活动子类型
  749. -- }
  750. -- s2c{
  751. -- base_type :int16 // 活动主类型
  752. -- sub_type :int16 // 活动子类型
  753. -- start_time :int32 // 活动开始时间
  754. -- reward_list:array{ // 累计抽奖次数奖励
  755. -- grade :int16 // 奖励档次
  756. -- time :int32 // 领取时间(终点时间戳 当前时间大于它 即可领取返利)(没有购买 则显示改礼包购买过期时间)
  757. -- status :int8 // 0:未购买 1:已购买不可领取 2:已领取 3:不可购买已过期 4:可领取
  758. -- }
  759. -- }
  760. -- }
  761. function KfActivityController:Handler33185(a1,a2)
  762. local vo = SCMD33185.New(true)
  763. self.model:SetZeroGiftInfo(vo)
  764. self.model:Fire(KfActivityModel.UPDATE_ZERO_GIFT_VIEW,vo.sub_type)
  765. self.model:IsNeedRed(KfActivityModel.TabID.ZeroGift,nil,vo.sub_type)
  766. end
  767. -- ############## 0元礼包购买 ##############
  768. -- protocol=33186
  769. -- {
  770. -- c2s{
  771. -- base_type :int16 // 活动主类型
  772. -- sub_type :int16 // 活动子类型
  773. -- grade :int16 // 奖励档次
  774. -- }
  775. -- s2c{
  776. -- errcode :int32 // 返回码
  777. -- base_type :int16 // 活动主类型
  778. -- sub_type :int16 // 活动子类型
  779. -- grade :int16 // 奖励档次
  780. -- time :int32 // 领取时间(终点时间戳 当前时间大于它 即可领取返利)(没有购买 则显示改礼包购买过期时间)
  781. -- status :int8 // 0:未购买 1:已购买不可领取 2:已领取 3:不可购买已过期 4:可领取
  782. -- }
  783. -- }
  784. function KfActivityController:Handler33186()
  785. local vo = SCMD33186.New(true)
  786. if vo.errcode ~= 1 then
  787. ErrorCodeShow(vo.errcode)
  788. lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
  789. if vo.errcode == 1001 then
  790. GlobalEventSystem:Fire(EventName.OPEN_RECHARGE_TIP_VIEW, true)
  791. elseif vo.errcode == 1006 then
  792. Alert.show("您的红钻不足,是否前往投资?", Alert.Type.Two, function()
  793. OpenFun.Open(420,1)
  794. end, nil, "确定", "取消")
  795. end
  796. else
  797. if self.model.zero_gift_view_info[vo.sub_type] and self.model.zero_gift_view_info[vo.sub_type].reward_list then
  798. self.model.zero_gift_view_info[vo.sub_type].reward_list[vo.grade].status = vo.status
  799. self.model.zero_gift_view_info[vo.sub_type].reward_list[vo.grade].time = vo.time
  800. end
  801. self.model:ZeroGiftNeedTimeLater()
  802. self.model:Fire(KfActivityModel.UPDATE_ZERO_GIFT_VIEW,vo.sub_type)
  803. self.model:IsNeedRed(KfActivityModel.TabID.ZeroGift,nil,vo.sub_type)
  804. if vo.status == 1 then
  805. local award_data = CustomActivityModel:getInstance():getOneActRewardList(vo.base_type,vo.sub_type)
  806. if award_data and award_data.reward_list then
  807. local award_info = nil
  808. for i,v in ipairs(award_data.reward_list) do
  809. if v.grade == vo.grade then
  810. local award = v.reward_info
  811. if #award > 0 then
  812. local new_award_list = {}
  813. for n,l in ipairs(award) do
  814. new_award_list[#new_award_list + 1] = {l.goods_kind, l.goods_id, l.goods_count}
  815. end
  816. GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, new_award_list)
  817. break
  818. end
  819. end
  820. end
  821. end
  822. end
  823. end
  824. end
  825. -- ########## 查询单个开服团购活动信息 ###########
  826. -- protocol=33223
  827. -- {
  828. -- c2s{
  829. -- sub_type:int16 // 活动子类型
  830. -- }
  831. -- s2c{
  832. -- sub_type:int16 // 活动子类型
  833. -- list:array{
  834. -- grade :int8 // 奖励档次(33104 grade)
  835. -- member :int16 // 玩家数量
  836. -- price :int16 // 个人花费价格
  837. -- }
  838. -- }
  839. -- }
  840. function KfActivityController:Handler33223()
  841. local vo = SCMD33223.New(true)
  842. -- print("huangcong:KfActivityController [start:420] vo:", vo)
  843. -- PrintTable(vo)
  844. -- print("huangcong:KfActivityController [end]")
  845. self.model:SetGroupBuyingInfo(vo)
  846. self.model:Fire(KfActivityModel.UPDATE_GROUP_BUYING_VIEW,vo.sub_type)
  847. self.model:IsNeedRed(KfActivityModel.TabID.GroupBuying,nil,vo.sub_type)
  848. end
  849. -- ############## 开服团购推送(折扣档次变化就需要推送一次) ##############
  850. -- protocol=33224
  851. -- {
  852. -- s2c{
  853. -- sub_type :int16 // 活动子类
  854. -- grade :int8 // 奖励档次(33104 grade)
  855. -- member :int16 // 玩家数量
  856. -- price :int16 // 个人花费价格
  857. -- }
  858. -- }
  859. function KfActivityController:Handler33224()
  860. local vo = SCMD33224.New(true)
  861. self.model:SetGroupBuyingInfoByGrade(vo)
  862. self.model:Fire(KfActivityModel.UPDATE_GROUP_BUYING_VIEW,vo.sub_type)
  863. self.model:IsNeedRed(KfActivityModel.TabID.GroupBuying,nil,vo.sub_type)
  864. end
  865. -- ############ 超级富豪 信息 ##############
  866. -- protocol=33228
  867. -- {
  868. -- c2s{
  869. -- sub_type :int16
  870. -- }
  871. -- s2c{
  872. -- sub_type :int16
  873. -- round :int8 // 圈数
  874. -- cur_index :int8 // 格子当前索引(0是起点 26是终点)
  875. -- normal_count :int8 // 普通骰子剩余使用次数
  876. -- gold_count :int8 // 金骰子剩余使用次数
  877. -- normal_day_count :int8 // 今日已获得普通骰子次数
  878. -- gold_day_count :int8 // 今日已获得金骰子次数
  879. -- design_count :int8 // 剩余补签次数
  880. -- use_design_count :int8 // 已补签次数
  881. -- day_recharge_num :int32 // 今日累充
  882. -- lucky_pools :array{ // 幸运池
  883. -- index :int8
  884. -- status :int8 // 0未发放|1已发放
  885. -- }
  886. -- dice_list :array{ // 格子信息列表
  887. -- index :int8 // 格子索引
  888. -- rewards :array{ // 奖励列表
  889. -- goods_kind :int8
  890. -- goods_id :int32
  891. -- goods_num :int32
  892. -- }
  893. -- lucky_index :int8 // 幸运池索引
  894. -- }
  895. -- circle_rewards :array{ // 圈数奖励信息列表
  896. -- circle :int8
  897. -- status :int8 // 0不能领取|1可领取|2已领取
  898. -- }
  899. -- }
  900. -- }
  901. function KfActivityController:Handler33228()
  902. local vo = {}
  903. if KfActivityController.Is_Debug then
  904. vo.sub_type = 1
  905. vo.round = 1
  906. vo.cur_index = 16
  907. vo.normal_count = 1
  908. vo.gold_count = 0
  909. vo.normal_day_count = 0
  910. vo.gold_day_count = 0
  911. vo.design_count = 0
  912. vo.use_design_count = 0
  913. local lucky_pools = {}
  914. for i=1,8 do
  915. local data = {index = i,status = 0}
  916. lucky_pools[#lucky_pools + 1] = data
  917. end
  918. vo.lucky_pools = lucky_pools
  919. local circle_rewards = {}
  920. for i=1,10 do
  921. local data = {circle = i,status = 0}
  922. circle_rewards[#circle_rewards + 1] = data
  923. end
  924. vo.circle_rewards = circle_rewards
  925. local dice_list = {}
  926. for i=1,26 do
  927. local data = {index = i,lucky_index = 0}
  928. data.rewards = {}
  929. dice_list[#dice_list + 1] = data
  930. end
  931. vo.dice_list = dice_list
  932. else
  933. vo = SCMD33228.New(true)
  934. end
  935. self.model:SetMonopolyInfo(vo)
  936. self.model:IsNeedRed(KfActivityModel.TabID.Monopoly,nil,vo.sub_type)
  937. end
  938. -- ########### 超级富豪 掷骰子 ############
  939. -- protocol=33229{
  940. -- c2s{
  941. -- sub_type :int16
  942. -- type :int8 // 0普通投掷|金骰子投掷
  943. -- }
  944. -- s2c{
  945. -- errcode :int32 // 返回码
  946. -- sub_type :int16
  947. -- pass_dice :int8 // 投掷点数
  948. -- dice_list :array{ // 格子信息列表
  949. -- index :int8 // 格子索引
  950. -- rewards :array{ // 奖励列表
  951. -- goods_id :int32
  952. -- goods_kind :int8
  953. -- goods_num :int32
  954. -- }
  955. -- lucky_index :int8 // 幸运池索引
  956. -- }
  957. -- }
  958. -- }
  959. function KfActivityController:Handler33229()
  960. local vo = {}
  961. if KfActivityController.Is_Debug then
  962. vo.sub_type = 1
  963. vo.errcode = 1
  964. vo.pass_dice = 6
  965. local dice_list = {}
  966. for i=1,26 do
  967. local data = {index = i,lucky_index = 0}
  968. data.rewards = {
  969. {goods_id = 270010,
  970. goods_kind = 100,
  971. goods_num = 2,},
  972. }
  973. data.lucky_index = 6
  974. dice_list[#dice_list + 1] = data
  975. end
  976. vo.dice_list = dice_list
  977. else
  978. vo = SCMD33229.New(true)
  979. end
  980. -- print("huangcong:KfActivityController [start:598] vo:", vo)
  981. -- PrintTable(vo)
  982. -- print("huangcong:KfActivityController [end]")
  983. if vo.errcode ~= 1 then
  984. ErrorCodeShow(vo.errcode)
  985. self.model:Fire(KfActivityModel.MONOPOLY_DICE_ACTION_STOP)
  986. else
  987. local new_dice_list = {}
  988. for k,v in pairs(vo.dice_list) do
  989. new_dice_list[v.index] = v
  990. end
  991. vo.dice_list = new_dice_list
  992. self.model:Fire(KfActivityModel.MONOPOLY_DICE_ACTION_START,vo)--开始大富翁骰子动画
  993. end
  994. end
  995. -- ############ 超级富豪 补签 ###############
  996. -- protocol=33230{
  997. -- c2s{
  998. -- sub_type :int16
  999. -- }
  1000. -- s2c{
  1001. -- errcode :int32
  1002. -- sub_type :int16
  1003. -- }
  1004. -- }
  1005. function KfActivityController:Handler33230()
  1006. local vo = SCMD33230.New(true)
  1007. if vo.errcode ~= 1 then
  1008. ErrorCodeShow(vo.errcode)
  1009. else
  1010. Message.show("补签成功","fault")
  1011. self.model:Fire(KfActivityModel.REQUEST_INFO, 33228, vo.sub_type)
  1012. end
  1013. end
  1014. -- ########### 超级富豪 领取圈数奖励 ###############
  1015. -- protocol=33231{
  1016. -- c2s{
  1017. -- sub_type :int16
  1018. -- circle :int8
  1019. -- }
  1020. -- s2c{
  1021. -- errcode :int32
  1022. -- sub_type :int8
  1023. -- circle :int8 // 圈数
  1024. -- }
  1025. -- }
  1026. function KfActivityController:Handler33231()
  1027. local vo = SCMD33231.New(true)
  1028. if vo.errcode == 1 then
  1029. Message.show("领取成功","success")
  1030. local data = self.model:GetMonopolyRoundAward(vo.sub_type,vo.circle)
  1031. if data and data.rewards then
  1032. local goods_list = {data.rewards[2]}
  1033. MainUIModel:getInstance():PlayGoodsFlyList(goods_list)
  1034. end
  1035. local server_info = self.model:GetMonopolyInfo(vo.sub_type)
  1036. if server_info and server_info.circle_rewards then
  1037. server_info.circle_rewards[vo.circle] = {circle = vo.circle,status = 2}
  1038. self.model:IsNeedRed(KfActivityModel.TabID.Monopoly,nil,vo.sub_type)
  1039. end
  1040. else
  1041. ErrorCodeShow(vo.errcode)
  1042. end
  1043. end
  1044. -- ################ 嗨点信息 #################
  1045. -- protocol=33140
  1046. -- {
  1047. -- c2s{
  1048. -- base_type :int16 // 活动主类型
  1049. -- sub_type :int16 // 活动子类型
  1050. -- }
  1051. -- s2c{
  1052. -- base_type :int16 // 活动主类型
  1053. -- sub_type :int16 // 活动子类型
  1054. -- sum_points :int32 // 获得总嗨点值
  1055. -- mod_list:array{
  1056. -- mod_id :int32 // 模块id
  1057. -- name :string // 名称
  1058. -- one_points :int32 // 单次获得狂欢值
  1059. -- max_points :int32 // 狂欢值上限
  1060. -- times :int32 // 参与次数
  1061. -- order_id :int16 // 排序id
  1062. -- jump_id :string // 跳转id
  1063. -- sec_value :int32 // 保留值
  1064. -- }
  1065. -- }
  1066. -- }
  1067. function KfActivityController:Handler33140()
  1068. local vo = SCMD33140.New(true)
  1069. -- print("huangcong:KfActivityController [start:674] vo:", vo.base_type,vo.sub_type)
  1070. -- PrintTable(vo)
  1071. -- print("huangcong:KfActivityController [end]")
  1072. self.model:SetHighPointInfo(vo)
  1073. end
  1074. -- ########## 嗨点信息推送 ###########
  1075. -- protocol=33289
  1076. -- {
  1077. -- c2s{
  1078. -- base_type :int16 // 活动主类型
  1079. -- sub_type :int16 // 活动子类型
  1080. -- }
  1081. -- s2c{
  1082. -- base_type :int16 // 活动主类型
  1083. -- sub_type :int16 // 活动子类型
  1084. -- sum_points :int32 // 获得总嗨点值
  1085. -- }
  1086. -- }
  1087. function KfActivityController:Handler33289()
  1088. local vo = SCMD33289.New(true)
  1089. -- print("huangcong:KfActivityController [start:928] 33289", vo)
  1090. -- PrintTable(vo)
  1091. self.model:SetHighPointSumNum(vo)
  1092. end
  1093. function KfActivityController:Handler33141( )
  1094. local vo = SCMD33141.New(true)
  1095. self.model:SetInvestActData(vo)
  1096. self.model:IsNeedRed(KfActivityModel.TabID.InvestAct, false, vo.sub_type)
  1097. end
  1098. -- ################ 投资活动投资 #################
  1099. -- protocol=33142
  1100. -- {
  1101. -- c2s{
  1102. -- sub_type:int16
  1103. -- grade:int8 // 投资档次
  1104. -- }
  1105. -- s2c{
  1106. -- res:int32 // 结果码 1为成功购买
  1107. -- sub_type:int16 // 活动子类型 主类型固定是75
  1108. -- grade:int8 // 投资档次
  1109. -- }
  1110. -- }
  1111. function KfActivityController:Handler33142( )
  1112. local vo = SCMD33142.New(true)
  1113. if vo.res == 1 then
  1114. Message.show("投资成功", "succeed")
  1115. self.model:UpdateInvestActBuyFlag(vo)
  1116. self.model:IsNeedRed(KfActivityModel.TabID.InvestAct, false, vo.sub_type)
  1117. -- 加载特殊获得的奖励界面
  1118. local activity_data = CustomActivityModel:getInstance():getOneActRewardList(CustomActivityModel.CustomActBaseType.INVEST_ACT, vo.sub_type)
  1119. activity_data = activity_data or {}
  1120. activity_data.reward_list = activity_data.reward_list or {}
  1121. local first_day_reward
  1122. for k, v in pairs(activity_data.reward_list) do
  1123. if v.grade == vo.grade then
  1124. for k2, v2 in ipairs(v.reward_info) do
  1125. if v2.day_num == 1 then -- 投资首日奖励抽出单独展示
  1126. first_day_reward = v2.goods_list
  1127. break
  1128. end
  1129. end
  1130. break
  1131. end
  1132. end
  1133. if first_day_reward then
  1134. local new_award_list = {}
  1135. for n,l in ipairs(first_day_reward) do
  1136. new_award_list[#new_award_list + 1] = {l.goods_kind, l.goods_id, l.goods_count}
  1137. end
  1138. GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, new_award_list)
  1139. end
  1140. else
  1141. ErrorCodeShow(vo.res)
  1142. end
  1143. end
  1144. function KfActivityController:Handler33144( )
  1145. local vo = SCMD33144.New(true)
  1146. if vo.res == 1 then
  1147. self.model:UpdateInvestActData(vo)
  1148. self.model:IsNeedRed(KfActivityModel.TabID.InvestAct, false, vo.sub_type)
  1149. Message.show("领取成功", "succeed")
  1150. else
  1151. ErrorCodeShow(vo.res)
  1152. end
  1153. end
  1154. -- ##############小额连充充值和已补签次数############
  1155. -- protocol=33145
  1156. -- {
  1157. -- c2s{
  1158. -- sub_type :int16 // 活动子类型
  1159. -- }
  1160. -- s2c{
  1161. -- sub_type :int16 // 活动子类型
  1162. -- total:int32 //玩家充值
  1163. -- resign:int8 //已补签次数
  1164. -- }
  1165. -- }
  1166. function KfActivityController:Handler33145( )
  1167. local vo = SCMD33145.New(true)
  1168. -- print("huangcong:KfActivityController [start:1047] vo:", vo)
  1169. -- PrintTable(vo)
  1170. -- print("huangcong:KfActivityController [end]")
  1171. self.model:SetKfContinueInfo(vo)
  1172. end
  1173. -- ##############小额连充补签############
  1174. -- protocol=33146
  1175. -- {
  1176. -- c2s{
  1177. -- sub_type:int16 // 活动子类型
  1178. -- }
  1179. -- s2c{
  1180. -- res:int32
  1181. -- sub_type:int16 // 活动子类型
  1182. -- }
  1183. -- }
  1184. function KfActivityController:Handler33146( )
  1185. local vo = SCMD33146.New(true)
  1186. if vo.res == 1 then
  1187. Message.show("补签成功","falut")
  1188. CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33104, CustomActivityModel.CustomActBaseType.CONTINUE_RECHARGE, vo.sub_type)
  1189. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO,33145,vo.sub_type)
  1190. else
  1191. ErrorCodeShow(vo.res)
  1192. end
  1193. end
  1194. -- ########## 抢红包-打开抢红包界面 ###########
  1195. function KfActivityController:Handler33168( )
  1196. local vo = SCMD33168.New(true)
  1197. -- logWarn('=======Msh:KfActivityController.lua[789]==start=====')
  1198. -- PrintTable(vo)
  1199. -- logWarn('=======Msh:KfActivityController.lua[791]==end=====')
  1200. --logWarn('=======Msh:KfActivityController.lua[793]==1111=====', TimeUtil:timeConversion(vo.time, "yy/mm/dd hh:mm:ss") )
  1201. if vo.result == 1 then
  1202. self.model:SetLuckyBagLastGetTime(vo.time)
  1203. if vo.opty == 0 then
  1204. local reward_data = self.model:GetTargetGradeReward(CustomActivityModel.CustomActBaseType.GET_LUCKY_BAG, vo.grade)
  1205. GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW, { award = reward_data.reward })
  1206. --Message.show("领取福袋成功")
  1207. elseif vo.opty == 1 then
  1208. local reward_data = self.model:GetTargetGradeReward(CustomActivityModel.CustomActBaseType.GET_RED_BAG, vo.grade)
  1209. GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW, { award = reward_data.reward })
  1210. --Message.show("领取红包成功")
  1211. end
  1212. else
  1213. local last_get_time = self.model:GetLuckyBagLastGetTime()
  1214. --logWarn('=======Msh:KfActivityController.lua[793]===2222====', TimeUtil:timeConversion(last_get_time, "yy/mm/dd hh:mm:ss") )
  1215. if vo.result == 3310091 and last_get_time > 0 then
  1216. local cd = 0
  1217. local curTime = TimeUtil:getServerTime()
  1218. if vo.opty == 0 then
  1219. cd = self.model:GetLuckyBagDataByKey( CustomActivityModel.CustomActBaseType.GET_LUCKY_BAG, "cold_down" )
  1220. local str = string.format('存货准备中,请在%s秒后再试~!', (vo.time + cd) - curTime)
  1221. Message.show(str)
  1222. elseif vo.opty == 1 then
  1223. cd = self.model:GetLuckyBagDataByKey( CustomActivityModel.CustomActBaseType.GET_RED_BAG, "cold_down" )
  1224. local str = string.format('存货准备中,请在%s秒后再试~!', (vo.time + cd) - curTime)
  1225. Message.show(str)
  1226. end
  1227. elseif vo.result == 3310092 then
  1228. local max_time = self.model:GetLuckyBagDataByKey( CustomActivityModel.CustomActBaseType.GET_RED_BAG, "max_times" )
  1229. Message.show( string.format('本次活动红包最多领取%s次', max_time) )
  1230. else
  1231. ErrorCodeShow(vo.result, vo.args)
  1232. end
  1233. end
  1234. end
  1235. -- ############## 封榜活动信息 ##############
  1236. -- protocol=33169
  1237. -- {
  1238. -- c2s{
  1239. -- base_type :int16 // 活动主类型
  1240. -- sub_type :int16 // 活动子类型
  1241. -- }
  1242. -- s2c{
  1243. -- base_type :int16 // 类型
  1244. -- sub_type :int16 // 活动子类型
  1245. -- my_rank :int16 // 我的排名(不在榜单上就发0)
  1246. -- my_vie_num :int32 // 我的值
  1247. -- rank_list:array{
  1248. -- id :int64 // 角色Id
  1249. -- name :string // 玩家名字
  1250. -- vip :int8 // 玩家VIP
  1251. -- svip_type :int8 // 至尊贵族等级(0未购买,1永久,2体验)
  1252. -- server_num :int32 // 服务器Id
  1253. -- rank :int16 // 排名
  1254. -- vie_num :int32 // 数量
  1255. -- }
  1256. -- }
  1257. -- }
  1258. function KfActivityController:Handler33169( )
  1259. local vo = SCMD33169.New(true)
  1260. -- print("huangcong:KfActivityController [start:875] vo:", vo)
  1261. -- PrintTable(vo)
  1262. -- print("huangcong:KfActivityController [end]")
  1263. self.model:SetComRankInfo(vo)
  1264. self.model:IsNeedRed(KfActivityModel.TabID.ComRank,nil,vo.sub_type)
  1265. end
  1266. -- ########## 秒杀-打开秒杀界面 ###########
  1267. function KfActivityController:Handler33187( )
  1268. local vo = SCMD33187.New(true)
  1269. -- print("HWR:KfActivityController [start:753] vo:", vo)
  1270. -- PrintTable(vo)
  1271. -- print("HWR:KfActivityController [end]")
  1272. self.model:SetSecKillBaseInfo(vo)
  1273. end
  1274. --秒杀-打开秒杀界面-各场次数据
  1275. function KfActivityController:Handler33188( )
  1276. local vo = SCMD33188.New(true)
  1277. -- print("HWR:KfActivityController [start:761] vo:", vo)
  1278. -- PrintTable(vo)
  1279. -- print("HWR:KfActivityController [end]")
  1280. self.model:SetSecKillRoundInfo(vo)
  1281. end
  1282. --秒杀-购买记录
  1283. function KfActivityController:Handler33189( )
  1284. local vo = SCMD33189.New(true)
  1285. -- print("HWR:KfActivityController [start:770] vo:", vo)
  1286. -- PrintTable(vo)
  1287. -- print("HWR:KfActivityController [end]")
  1288. self.model:SetSecKillRecordInfo(vo)
  1289. end
  1290. --秒杀-打开抢购界面
  1291. function KfActivityController:Handler33190( )
  1292. local vo = SCMD33190.New(true)
  1293. -- print("HWR:KfActivityController [start:778] vo:", vo)
  1294. -- PrintTable(vo)
  1295. -- print("HWR:KfActivityController [end]")
  1296. self.model:SetSecKillBuyInfo(vo)
  1297. end
  1298. --秒杀-抢购
  1299. function KfActivityController:Handler33191( )
  1300. local vo = SCMD33191.New(true)
  1301. -- print("HWR:KfActivityController [start:786] vo:", vo)
  1302. -- PrintTable(vo)
  1303. -- print("HWR:KfActivityController [end]")
  1304. if vo.res == 1 then
  1305. Message.show("恭喜您抢购成功~")
  1306. self.model:SetSecKillOneInfo(vo.round, vo.grade_id, true)
  1307. self.model:Fire(KfActivityModel.LIMIT_SECKILL_BUY_SUCCESS)
  1308. else
  1309. ErrorCodeShow(vo.res)
  1310. end
  1311. end
  1312. --秒杀-订阅
  1313. function KfActivityController:Handler33192( )
  1314. end
  1315. --秒杀-订阅主推-商品购买情况-更新单个商品数量和记录
  1316. function KfActivityController:Handler33193( )
  1317. local vo = SCMD33193.New(true)
  1318. -- print("HWR:KfActivityController [start:802] vo:", vo)
  1319. -- PrintTable(vo)
  1320. -- print("HWR:KfActivityController [end]")
  1321. self.model:SetSecKillOneInfo(vo.round, vo.grade_id)
  1322. self.model:SetSecKillOneRecord(vo)
  1323. end
  1324. function KfActivityController:Handler33194( )
  1325. local vo = SCMD33194.New(true)
  1326. self.model:LimitSecKillRoundStart(vo.round)
  1327. end
  1328. -- ########## 惊喜红包-start ###########
  1329. --惊喜红包 基础信息
  1330. function KfActivityController:Handler33250( )
  1331. local vo = SCMD33250.New(true)
  1332. self.model:SetHappyRedBagBaseInfo(vo)
  1333. self.model:Fire(KfActivityModel.UPDATE_HAPPY_RED_BAG_INFO)
  1334. end
  1335. --惊喜红包 抽取奖励
  1336. function KfActivityController:Handler33251( )
  1337. local vo = SCMD33251.New(true)
  1338. if vo.res == 1 then
  1339. Message.show("抽取成功!")
  1340. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33250, vo.sub_type)
  1341. else
  1342. ErrorCodeShow(vo.res)
  1343. if vo.res == 3310094 then
  1344. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33250, vo.sub_type)
  1345. end
  1346. end
  1347. end
  1348. --惊喜红包 领取奖励
  1349. function KfActivityController:Handler33252( )
  1350. local vo = SCMD33252.New(true)
  1351. if vo.res == 1 then
  1352. Message.show("领取成功!")
  1353. self.model:Fire(KfActivityModel.ANS_DRAW_HAPPY_RED_BAG,vo)
  1354. --请求全服记录
  1355. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33253, vo.sub_type)
  1356. else
  1357. ErrorCodeShow(vo.res)
  1358. end
  1359. end
  1360. --惊喜红包 全服抽取记录
  1361. function KfActivityController:Handler33253( )
  1362. local vo = SCMD33253.New(true)
  1363. self.model:SetHappyRedBagHistoryInfo(vo)
  1364. self.model:Fire(KfActivityModel.UPDATE_HAPPY_RED_BAG_HISTORY)
  1365. end
  1366. --惊喜红包 领取宝箱
  1367. function KfActivityController:Handler33254( )
  1368. local vo = SCMD33254.New(true)
  1369. if vo.res == 1 then
  1370. Message.show("领取成功!")
  1371. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33250, vo.sub_type)
  1372. else
  1373. ErrorCodeShow(vo.res)
  1374. end
  1375. end
  1376. -- ########## 惊喜红包-end ###########
  1377. -- ########## 折扣满减-start ###########
  1378. --折扣满减 信息
  1379. function KfActivityController:Handler33126( )
  1380. local vo = SCMD33126.New(true)
  1381. self.model:SetDiscountFullCutInfo(vo)
  1382. self.model:Fire(KfActivityModel.ANS_DISCOUNT_FULL_CUT_INFO,vo.sub_type)
  1383. end
  1384. --折扣满减 购买记录
  1385. function KfActivityController:Handler33127( )
  1386. local vo = SCMD33127.New(true)
  1387. self.model:SetDiscountFullCutHistory(vo)
  1388. self.model:Fire(KfActivityModel.ANS_DISCOUNT_FULL_CUT_HISTORY,vo.sub_type)
  1389. end
  1390. -- ################ 满减折扣-抽奖 #################
  1391. -- protocol=33128
  1392. -- {
  1393. -- c2s{
  1394. -- sub_type :int16 //活动子类型
  1395. -- }
  1396. -- s2c{
  1397. -- sub_type :int16 //活动子类型
  1398. -- res :int32 //错误码
  1399. -- id :int16 //奖池中抽中的配置id
  1400. -- }
  1401. -- }
  1402. function KfActivityController:Handler33128( )
  1403. local vo = SCMD33128.New(true)
  1404. if vo.res == 1 then
  1405. Message.show("抽奖成功!")
  1406. elseif vo.res == 1003 then
  1407. UIToolTipMgr:getInstance():AppendGoodsTips(KfActivityModel.KfDFullCutLuckyGoodsId, nil, nil, nil, nil, nil, nil,true)
  1408. else
  1409. ErrorCodeShow(vo.res)
  1410. end
  1411. KfActivityModel:getInstance():Fire(KfActivityModel.LUCKY_DISCOUNT_FULL_CUT_LUCKY_VIEW,vo)
  1412. end
  1413. --折扣满减 购买商品
  1414. function KfActivityController:Handler33129( )
  1415. local vo = SCMD33129.New(true)
  1416. if vo.errcode == 1 then
  1417. Message.show("购买成功!")
  1418. self.model:Fire(KfActivityModel.ANS_DISCOUNT_FULL_CUT_BUY, vo.sub_type)
  1419. CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33104, CustomActivityModel.CustomActBaseType.DISCOUNT_FULL_CUT, vo.sub_type)
  1420. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33126, vo.sub_type)
  1421. else
  1422. ErrorCodeShow(vo.errcode)
  1423. end
  1424. end
  1425. -- ################ 满减折扣-抽奖转盘信息 #################
  1426. -- protocol=33130
  1427. -- {
  1428. -- c2s{
  1429. -- sub_type :int16 //活动子类型
  1430. -- }
  1431. -- s2c{
  1432. -- sub_type :int16 //活动子类型
  1433. -- goods_list:array{
  1434. -- id :int16 //奖池中抽中的配置id
  1435. -- }
  1436. -- }
  1437. -- }
  1438. function KfActivityController:Handler33130( )
  1439. local vo = SCMD33130.New(true)
  1440. -- print("huangcong:KfActivityController [start:1110] vo:", vo)
  1441. -- PrintTable(vo)
  1442. -- print("huangcong:KfActivityController [end]")
  1443. self.model:SetDiscountFullCutLuckyTableList(vo)
  1444. self.model:Fire(KfActivityModel.UPDATE_DISCOUNT_FULL_CUT_LUCKY_VIEW, vo.sub_type)
  1445. end
  1446. -- ########## 折扣满减-end ###########
  1447. -- ########## 彩钻复制机-start ###########
  1448. ----彩钻复制机-基础信息
  1449. function KfActivityController:Handler33131( )
  1450. local vo = SCMD33131.New(true)
  1451. self.model:SetMoneyCopyData(vo)
  1452. self.model:Fire(KfActivityModel.UPDATE_MONEY_COPY_VIEW, vo.sub_type)
  1453. --更新下首充红点
  1454. local sub_type_charge = self.model:GetMoneyCopySubTypeByTag( "charge" )
  1455. local sub_type_plus_charge = self.model:GetMoneyCopySubTypeByTag( "chargeplus" )
  1456. if vo.sub_type == sub_type_charge then
  1457. VipModel:getInstance():IsNeedRed(VipModel.TabType.Recharge)--更新紅點
  1458. elseif vo.sub_type == sub_type_plus_charge then
  1459. RechargeActivityModel:getInstance():UpdateRechargeAddRedDot()
  1460. end
  1461. end
  1462. --彩钻复制机-购买存金
  1463. function KfActivityController:Handler33132( )
  1464. local vo = SCMD33132.New(true)
  1465. if vo.result == 1 then
  1466. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33131, vo.sub_type)
  1467. Message.show("存入成功~")
  1468. else
  1469. ErrorCodeShow(vo.result)
  1470. end
  1471. end
  1472. ----彩钻复制机-领取利息
  1473. function KfActivityController:Handler33133( )
  1474. local vo = SCMD33133.New(true)
  1475. if vo.result == 1 then
  1476. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33131, vo.sub_type)
  1477. Message.show("领取成功~")
  1478. else
  1479. ErrorCodeShow(vo.result)
  1480. end
  1481. end
  1482. -- ########## 彩钻复制机-end ###########
  1483. -- ########## 通行证-start ###########
  1484. --通行证-活动信息
  1485. function KfActivityController:Handler33283( )
  1486. local vo = SCMD33283.New(true)
  1487. if vo.result == 1 then
  1488. self.model:SetPassActInfo(vo)
  1489. self.model:Fire(KfActivityModel.ANS_PASS_ACT_BASIC,vo.act_type, vo.sub_type)
  1490. end
  1491. end
  1492. --通行证-购买王牌宝典
  1493. function KfActivityController:Handler33285( )
  1494. local vo = SCMD33285.New(true)
  1495. if vo.result == 1 then
  1496. Message.show("购买成功!")
  1497. else
  1498. ErrorCodeShow(vo.result)
  1499. end
  1500. end
  1501. --通行证-奖励信息
  1502. function KfActivityController:Handler33286( )
  1503. local vo = SCMD33286.New(true)
  1504. if vo.result == 1 then
  1505. self.model:SetPassActRewardInfo(vo)
  1506. self.model:Fire(KfActivityModel.ANS_PASS_ACT_REWARD_LIST,vo.act_type, vo.sub_type)
  1507. end
  1508. end
  1509. --活跃通行证-奖励领取
  1510. function KfActivityController:Handler33284( )
  1511. local vo = SCMD33284.New(true)
  1512. if vo.result == 1 then
  1513. Message.show("领取成功!")
  1514. local base_type = CustomActivityModel.CustomActBaseType.LIVELY_PASS
  1515. local result = self.model:PassActChangeRewardStatus(base_type,vo.sub_type,vo.grade,vo.reward_opty)
  1516. if not result then
  1517. --没有成功设置,那就请求
  1518. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33283, base_type, vo.sub_type)
  1519. end
  1520. else
  1521. ErrorCodeShow(vo.result)
  1522. end
  1523. end
  1524. --登录通行证-奖励领取
  1525. function KfActivityController:Handler33287( )
  1526. local vo = SCMD33287.New(true)
  1527. if vo.result == 1 then
  1528. Message.show("领取成功!")
  1529. local base_type = CustomActivityModel.CustomActBaseType.LOGIN_PASS
  1530. local result = self.model:PassActChangeRewardStatus(base_type,vo.sub_type,vo.grade,vo.reward_opty)
  1531. if not result then
  1532. --没有成功设置,那就请求
  1533. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33283, base_type, vo.sub_type)
  1534. end
  1535. else
  1536. ErrorCodeShow(vo.result)
  1537. end
  1538. end
  1539. --登录通行证-补签
  1540. function KfActivityController:Handler33288( )
  1541. local vo = SCMD33288.New(true)
  1542. if vo.result == 1 then
  1543. Message.show("补签成功!")
  1544. local base_type = CustomActivityModel.CustomActBaseType.LOGIN_PASS
  1545. local result = self.model:PassActChangeRewardStatus(base_type,vo.sub_type,vo.grade,vo.reward_opty)
  1546. if not result then
  1547. --没有成功设置,那就请求
  1548. KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33283, base_type, vo.sub_type)
  1549. end
  1550. else
  1551. ErrorCodeShow(vo.result)
  1552. end
  1553. end
  1554. -- ########## 通行证-end ###########