62 lines
2.0 KiB
Lua
62 lines
2.0 KiB
Lua
|
|
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
|