diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index 64b0665..b795ee8 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -185,30 +185,33 @@ func (uinfo *UserData) CalcAchieveList(list *TaskList) *TaskList { } list.Taskdata[k].Taskprogress = uinfo.CalcAchieveProgress(cfg.TaskType) - switch cfg.TaskType { - case ACHIEVETYPE_WATCHADDS: - if uinfo.Achieve.WatchAdsCnt >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - case ACHIEVETYPE_USERLV: - if uinfo.Lv >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - case ACHIEVETYPE_KILLSTAR: - if uinfo.Achieve.KillStar >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - case ACHIEVETYPE_GETGUANCNT: - if uinfo.Achieve.SumGetGuan >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 - } - case ACHIEVETYPE_USEITEMCNT: - if uinfo.Achieve.SumUseItemCnt >= cfg.Num { - list.Taskdata[k].Taskstatus = 2 + if val.Taskstatus == 1 { + switch cfg.TaskType { + case ACHIEVETYPE_WATCHADDS: + if uinfo.Achieve.WatchAdsCnt >= cfg.Num { + list.Taskdata[k].Taskstatus = 2 + } + case ACHIEVETYPE_USERLV: + if uinfo.Lv >= cfg.Num { + list.Taskdata[k].Taskstatus = 2 + } + case ACHIEVETYPE_KILLSTAR: + if uinfo.Achieve.KillStar >= cfg.Num { + list.Taskdata[k].Taskstatus = 2 + } + case ACHIEVETYPE_GETGUANCNT: + if uinfo.Achieve.SumGetGuan >= cfg.Num { + list.Taskdata[k].Taskstatus = 2 + } + case ACHIEVETYPE_USEITEMCNT: + if uinfo.Achieve.SumUseItemCnt >= cfg.Num { + list.Taskdata[k].Taskstatus = 2 + } + default: + logger.Error("CalcAchieveProgress type wrong ttype=%v", cfg.TaskType) } - default: - logger.Error("CalcAchieveProgress type wrong ttype=%v", cfg.TaskType) } + } for k, val := range list.Taskdata { @@ -279,7 +282,7 @@ func SaveTaskInfo(uuid, tasktype int, list *TaskList) error { err = redishandler.GetRedisClient().HSet(redis.USER_TASKINFO_LIST, strconv.Itoa(uuid), string(savestr)) } else if tasktype == 2 { err = redishandler.GetRedisClient().HSet(redis.USER_ACHIEVEMENTINFO_LIST, strconv.Itoa(uuid), string(savestr)) - logger.Info("SaveTaskInfo savestr=%v", string(savestr)) + //logger.Info("SaveTaskInfo savestr=%v", string(savestr)) } else { logger.Error("tasktype invalid") return errors.New("tasktype invalid") @@ -346,7 +349,7 @@ func (uinfo *UserData) HandleGetTaskReward(req *GettaskrewardReq, resp *Gettaskr return errors.New("当前任务id错误") } - cfg := GetTaskConfig(taskdesc.Taskid) + cfg := GetAchieveConfig(taskdesc.Taskid) if cfg == nil || len(cfg.Reward) < 2 { resp.Code = ERROR_SRV_ERROR resp.Message = "网络错误" -- libgit2 0.21.0