From 6d178237fff27292de15e39c95bf0072cf9266bd Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Wed, 9 Sep 2020 16:51:55 +0800 Subject: [PATCH] 提交部分代码 --- src/HttpServer/logic/constdef.go | 23 ++++++++--------------- src/HttpServer/logic/datadef.go | 8 ++------ src/HttpServer/logic/function.go | 57 ++++++++++++--------------------------------------------- src/HttpServer/logic/logic.go | 49 +++++++------------------------------------------ 4 files changed, 29 insertions(+), 108 deletions(-) diff --git a/src/HttpServer/logic/constdef.go b/src/HttpServer/logic/constdef.go index f93e46f..a1aa972 100644 --- a/src/HttpServer/logic/constdef.go +++ b/src/HttpServer/logic/constdef.go @@ -2,26 +2,19 @@ package logic //任务成就类型枚举 协议上报用 const ( - TASKTYPE_PASSLEVEL = 1 //表示通过x关卡 - TASKTYPE_GETREDBAG = 3 //3表示观看x次广告 - TASKTYPE_WATCHADS = 2 //领取x次红包 - TASKTYPE_KILLSTAR = 4 //4表示消除x颗星星 - TASKTYPE_USEITEM = 5 //5表示使用x次道具 - TASKTYPE_PLAYSMALLGAMES = 6 //6表示试玩15s小游戏 - TASKTYPE_SHAKETIME = 7 //摇一摇次数 + TASKTYPE_MERGE = 1 //表示合成 + TASKTYPE_WATCHADS = 2 //表示管看广告次数 ) //任务类型 对应表 const ( - DAILY_TASKTYPE_LOGIN = 1 //1 每日登录 - DAILY_TASKTYPE_GETGUANCNT = 2 //提取存钱罐 - DAILY_TASKTYPE_PASSLEVEL = 3 //近日通过关 - DAILY_TASKTYPE_USEITEM = 4 //使用道具数 - DAILY_TASKTYPE_GETREDBAG = 5 //领取红包次数 - DAILY_TASKTYPE_GETGUANGOLD = 6 //收取金币x枚 - DAILY_TASKTYPE_ONLINEMIN = 7 //在线分钟数 - DAILY_TASKTYPE_PLAYSMALLGAME = 8 //试玩小游戏15s + //DAILY_TASKTYPE_LOGIN = 1 //1 每日登录 + + DAILY_TASKTYPE_ONLINEMIN = 1 //在线分钟数 + DAILY_TASKTYPE_MERGE = 2 //合成次数 + DAILY_TASKTYPE_WATCHADS = 3 //观看广告次数 + ) //成就类型 对应表 diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index a40d6ab..3d5b517 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -177,7 +177,6 @@ type UpdatetaskResp struct { } type QuerytaskinfoReq struct { - Tasktype int `json:"tasktype"` Gameid string `json:"gameid"` Channel string `json:"channel"` } @@ -384,11 +383,8 @@ type TaskList struct { //其中提取次数和当日登陆在userdata中记录 type TaskInfo struct { OnlineMin int //在线分钟数 - PassLevel int //通过关卡数 - UseItemCnt int //使用道具次数 - GetRedbagCnt int //领取红包次数 - GetGuanGold int //收集金币数 - PlaySmall int //当日是否试玩小游戏15s 次数 + MergeCnt int //合成次数 + WatchAds int //观看广告次数 } // diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index a779553..8cc7899 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -95,7 +95,7 @@ func GetAchieveConfig(taskid int) *jsonconf.AchieveDesc { func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) *TaskList { newlist := new(TaskList) - curtype := -1 //记录当前类型 + //curtype := -1 //记录当前类型 for k, val := range list.Taskdata { //未完成的才做判断 @@ -108,56 +108,26 @@ func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) *TaskList { continue } - if cfg.TaskType == DAILY_TASKTYPE_LOGIN { - nowloginday := time.Now().Day() - lasttime := time.Unix(int64(uinfo.LastLoginTime), 0) - lastloginday := lasttime.Day() - - if nowloginday == lastloginday && val.Taskstatus == 1 { - list.Taskdata[k].Taskprogress = 1 - list.Taskdata[k].Taskstatus = 2 - } - } else if cfg.TaskType == DAILY_TASKTYPE_GETGUANCNT { - list.Taskdata[k].Taskprogress = uinfo.GetFromGuanCnt - //当日提取存钱罐次数 - if uinfo.GetFromGuanCnt >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - } else if cfg.TaskType == DAILY_TASKTYPE_PASSLEVEL { - list.Taskdata[k].Taskprogress = uinfo.Task.PassLevel - if uinfo.Task.PassLevel >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - } else if cfg.TaskType == DAILY_TASKTYPE_USEITEM { - list.Taskdata[k].Taskprogress = uinfo.Task.UseItemCnt - if uinfo.Task.UseItemCnt >= cfg.Num { + if cfg.TaskType == DAILY_TASKTYPE_MERGE { + list.Taskdata[k].Taskprogress = uinfo.Task.MergeCnt + if uinfo.Task.MergeCnt >= cfg.Num { list.Taskdata[k].Taskstatus = 2 } - } else if cfg.TaskType == DAILY_TASKTYPE_GETREDBAG { - list.Taskdata[k].Taskprogress = uinfo.Task.GetRedbagCnt - if uinfo.Task.GetRedbagCnt >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - } else if cfg.TaskType == DAILY_TASKTYPE_GETGUANGOLD { - list.Taskdata[k].Taskprogress = uinfo.Task.GetGuanGold - if uinfo.Task.GetGuanGold >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - } else if cfg.TaskType == DAILY_TASKTYPE_ONLINEMIN { + } else if cfg.TaskType == DAILY_TASKTYPE_ONLINEMIN { list.Taskdata[k].Taskprogress = uinfo.Task.OnlineMin if uinfo.Task.OnlineMin >= cfg.Num { list.Taskdata[k].Taskstatus = 2 } - } else if cfg.TaskType == DAILY_TASKTYPE_PLAYSMALLGAME { - list.Taskdata[k].Taskprogress = uinfo.Task.PlaySmall - if uinfo.Task.PlaySmall > 0 { + } else if cfg.TaskType == DAILY_TASKTYPE_WATCHADS { + list.Taskdata[k].Taskprogress = uinfo.Task.WatchAds + if uinfo.Task.WatchAds >= cfg.Num { list.Taskdata[k].Taskstatus = 2 } } } - for k, val := range list.Taskdata { + /*for k, val := range list.Taskdata { cfg := GetTaskConfig(val.Taskid) if cfg == nil { @@ -203,7 +173,7 @@ func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) *TaskList { } } - } + }*/ //需要保存到redis SaveTaskInfo(uniqueid, 1, list) @@ -906,12 +876,9 @@ func (u *UserData) HandlePassDay(uuid int, channel string) { u.GetFromGuanCnt = 0 u.GetCashCnt = 0 - u.Task.GetGuanGold = 0 - u.Task.GetRedbagCnt = 0 u.Task.OnlineMin = 0 - u.Task.PassLevel = 0 - u.Task.UseItemCnt = 0 - u.Task.PlaySmall = 0 + u.Task.MergeCnt = 0 + u.Task.WatchAds = 0 u.ShakeTime = SHAKELIMIT u.FetchRdBagNum = 0 u.Hfen = 0 diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index 912845a..a296682 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -939,7 +939,7 @@ func HandlerQuerytaskinfo(w http.ResponseWriter, data string, uuid int) { //需要先计算出任务或者成就 var tasklist *TaskList //先查询一下当前的任务数据 - tasklist, err = GetTaskInfo(uuid, rdata.Tasktype, rdata.Channel) + tasklist, err = GetTaskInfo(uuid, 1, rdata.Channel) if err != nil || tasklist == nil { logger.Error("redis failed err=%v", err) resp.Message = "服务器错误" @@ -947,13 +947,8 @@ func HandlerQuerytaskinfo(w http.ResponseWriter, data string, uuid int) { break } - if rdata.Tasktype == 1 { - tasklist = uinfo.CalcTaskList(tasklist, uniqueuuid) - } else if rdata.Tasktype == 2 { - tasklist = uinfo.CalcAchieveList(tasklist, uniqueuuid) - } else { - tasklist = uinfo.CalcTaskList(tasklist, uniqueuuid) - } + tasklist = uinfo.CalcTaskList(tasklist, uniqueuuid) + if tasklist == nil { logger.Error("redis failed err=%v", err) @@ -1003,40 +998,10 @@ func HandlerUpdatetaskandachieve(w http.ResponseWriter, data string, uuid int) { } switch rdata.Tasktype { - case TASKTYPE_PASSLEVEL: - uinfo.Task.PassLevel += rdata.Value - case TASKTYPE_GETREDBAG: - uinfo.Task.GetRedbagCnt += rdata.Value - if uinfo.LeftFreeRB > 0 { - uinfo.LeftFreeRB-- - } - if uinfo.WatchAddsTime > 0 { - uinfo.WatchAddsTime-- - } - case TASKTYPE_WATCHADS: - uinfo.Achieve.WatchAdsCnt += rdata.Value - /*case TASKTYPE_GETREDBAG: - uinfo.Task.GetRedbagCnt += rdata.Value + case TASKTYPE_MERGE: + uinfo.Task.MergeCnt += rdata.Value case TASKTYPE_WATCHADS: - uinfo.Achieve.WatchAdsCnt += rdata.Value - if uinfo.LeftFreeRB > 0 { - uinfo.LeftFreeRB-- - } - if uinfo.WatchAddsTime > 0 { - uinfo.WatchAddsTime-- - }*/ - case TASKTYPE_KILLSTAR: - uinfo.Achieve.KillStar += rdata.Value - case TASKTYPE_USEITEM: - uinfo.Task.UseItemCnt += rdata.Value - uinfo.Achieve.SumUseItemCnt += rdata.Value - case TASKTYPE_PLAYSMALLGAMES: - uinfo.Task.PlaySmall += 1 - case TASKTYPE_SHAKETIME: - uinfo.ShakeTime -= rdata.Value - if uinfo.ShakeTime < 0 { - uinfo.ShakeTime = 0 - } + uinfo.Task.WatchAds += rdata.Value } logger.Info("HandlerUpdatetaskandachieve uinfo=%v rdata=%v", uinfo, rdata) SaveUserInfo(uinfo, uniqueuuid) @@ -1294,7 +1259,7 @@ func HandlerGetguangold(w http.ResponseWriter, data string, uuid int) { resp.Data.Guangold = uinfo.GuanGold //uinfo.Task.GetGuanGold += rdata.Goldnum - uinfo.Task.GetGuanGold++ + //uinfo.Task.GetGuanGold++ SaveUserInfo(uinfo, uniqueuuid) -- libgit2 0.21.0