local skynet = require "skynet" local oo = require "Class" local log = require "Log" local pb = require "pb" local redisKeyUrl = require "RedisKeyUrl" local sqlUrl = require "SqlUrl" local dataType = require "DataType" local json = require "json" local errorInfo = require "ErrorInfo" local mail = require "Mail" local Questionnaire = oo.class() function Questionnaire:Init() end --问卷调查显示 function Questionnaire:Show( player , c2sData , s2cData ) c2sData.data = assert(pb.decode("C2SQuestionnaireShow", c2sData.data )) local level = player.gameData.level local data = {} -- 玩家等级达到35级才可以显示问卷调查 if 35 <= level and not player.gameData.questionnaire.isFinish then data.canShow = true else data.canShow = false end s2cData.cmd = pb.enum("MsgType","CMD_S2C_QuestionnaireShow") s2cData.data = assert(pb.encode("S2CQuestionnaireShow", data)) end --问卷调查提交 function Questionnaire:Submit( player , c2sData , s2cData ) c2sData.data = assert(pb.decode("C2SQuestionnaireSubmit", c2sData.data )) local data = {} data.award ={} local questionInfos = c2sData.data.questionInfo -- 遍历问卷 判读玩家是否全部完成 local finish = true for k , v in pairs(questionInfos) do for x , y in pairs(v.option) do -- 如果选项为空 则退出 if not y then -- 没有回答选项的id local questionId = v.questionId finish = false end end end -- 如果完成了 发放奖励 if finish then player:MoneyChange(dataType.GoodsType_Volute , 20) else s2cData.code = errorInfo.ErrorCode.QuestionnaireNoFinish end player.gameData.questionnaire.isFinish = true s2cData.cmd = pb.enum("MsgType","CMD_S2C_QuestionnaireSubmit") s2cData.data = assert(pb.encode("S2CQuestionnaireSubmit", data)) end skynet.server.questionnaire = Questionnaire return Questionnaire