--[[ 充值返利功能 yuanli 1、GMS后台配置改功能是否开启 2、在测试期间充值了 ]] local RechargeReturn_Model = {} local private = {} local EventSystem = require('Event/EventSystem') local pay_reward_opt_pb = require 'Proto/pay_reward_opt_pb' local LuaFuncEntry = require("Main/LuaFuncEntry") RechargeReturn_Model.RewardTypeEnum = { RewardPay = pay_reward_opt_pb.RewardPay, -- 内测充值返利。 RewardLoginAndRank = pay_reward_opt_pb.RewardLoginAndRank -- 登陆和排名返利。--国服公测领二测福利,一次性界面以后要删掉 } function RechargeReturn_Model.OnStartup() private.SetupEntryFunc(true) NetManager.RegisterMsgCB(MessageEnums.MessagePayRewardReward, private.PayRewardRewardResp) private.moneyScore = 0 private.rewardItems = {} private.hasGetReward = false private.cbtRebateCode = nil end function private.SetupEntryFunc(isRegist) LuaFuncEntry.SetupMainEntryFunc(isRegist, LuaFuncEntry.FuncType.OnCbtActivityInfoCB, private.OnCbtActivityInfoCB) end function RechargeReturn_Model.OnShutdown() private.SetupEntryFunc(false) end function private.OnCbtActivityInfoCB(value) local params = string.split(value, "|") if params[1] ~= "200" then CTL.Tips.AddTipsMsg(Const_IDS["IDS_JP_RechargeRebate_Wrong"]) return end --第4位是返利码 private.SetCbtRebateCode(params[4]) end --cbt期间获取返利码 function RechargeReturn_Model.ReqCbtRebateCode() SDKUtil.GetCbtActivityInfo() end function private.SetCbtRebateCode(value) private.cbtRebateCode = value EventSystem.Dispatch(EventID.UI_SetJPCbtRebateCode, value) end function RechargeReturn_Model.GetCbtRebateCode() return private.cbtRebateCode end function RechargeReturn_Model.InitRechargeReturnCount(rechargeReturnData) private.moneyScore = rechargeReturnData.moneyScore private.rewardItems = rechargeReturnData.rewards private.hasGetReward = rechargeReturnData.payReward end function RechargeReturn_Model.UpdateRechargeReturnCount(rechargeReturnData) private.moneyScore = rechargeReturnData.moneyScore private.rewardItems = rechargeReturnData.rewards private.hasGetReward = rechargeReturnData.payReward EventSystem.Dispatch(EventID.UI_Welfare_RechargeReturnRewardState) end function RechargeReturn_Model.GetRechargeCount() return private.moneyScore end function RechargeReturn_Model.GetRechargeReturnItems() return private.rewardItems end function RechargeReturn_Model.GetRechargeReturnItemCount(itemID) for _, v in ipairs(private.rewardItems) do if v.ItemId == itemID then return v.ItemCount end end return nil end function RechargeReturn_Model.HasGetReward() return private.hasGetReward end function RechargeReturn_Model.ReqGetRechargeReturnReward(rewardType) local msg = pay_reward_opt_pb.PayRewardRewardReq() msg.RewardType = rewardType NetManager.SendMessage(MessageEnums.MessagePayRewardReward, msg) end function private.PayRewardRewardResp(msgResp) -- 国服公测领二测福利,一次性代码以后要删掉 if msgResp.RewardType == RechargeReturn_Model.RewardTypeEnum.RewardLoginAndRank then MDL.TestWelfare.SyncTestWelfareInfo(msgResp) end end return RechargeReturn_Model