local skynet = require "skynet" local oo = require "Class" local log = require "Log" local redisKeyUrl = require "RedisKeyUrl" local sqlUrl = require "SqlUrl" local json =require "json" local errorInfo = require "ErrorInfo" local dataType = require "DataType" local TaskList = oo.class() function TaskList:Init() self.allTask = {} --所有任务 end function TaskList:OnNewDay() --跨天 end --每5秒调一次 function TaskList:On5SecTimer() end --从DB中载入数据 function TaskList:LoadDB() --加载兑换码列表 local sql = string.format(sqlUrl.selectInfoFromRedeemList , self.Status_StartBonus ) local queryData = skynet.server.db:Query( "game" , sql ) for k, v in pairs(queryData) do self:NewRedeemListRecord( v.Code , v.Status , v.BonusPlayerCount , json:decode(v.Data)) log.info(string.format("加载兑换码信息 兑换码Code %s " , v.Code )) end end --保存数据到DB function TaskList:SaveDB() local sql = nil local queryData = nil --保存兑换码列表 for k, v in pairs(self.redeemList) do sql = string.format(sqlUrl.updateDataToRedeemList , json:encode(v.data) , v.redeemCode ) queryData = skynet.server.db:Query( "game" , sql ) if 1 ~= queryData.affected_rows then log.info("修改兑换码数据失败,不存在该Code" , v.redeemCode ) else log.info("成功保存兑换码列表" , v.redeemCode ) end end end --新增任务 function TaskList:Add() local lastTaskId = self:GetID() end --删除任务 function TaskList:Remove() end --开始任务 function TaskList:Start() end --停止任务 function TaskList:Stop() end --获取任务ID function TaskList:GetID() local redisKey = string.format( redisKeyUrl.MultiServerTaskID ) local lastTaskId = skynet.server.redis:incr(redisKey) return lastTaskId end skynet.server.taskList = TaskList return TaskList