diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index b86f56eca..fbff25c14 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -154,6 +154,8 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe } finishRsp := func() { + this.module.modelWorldtask.updateRandomTask(session.GetUserId(), userTask) + nextTaskIds := this.module.modelWorldtask.findNextTasks(curTaskConf.Key) this.module.Debug("nextTaskIds", log.Field{Key: "nextTaskIds", Value: nextTaskIds}) diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index ac99e1c38..3a3041dfd 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -231,6 +231,8 @@ func (this *ModelWorldtask) updateCheckCond(uid string, userTask *pb.DBWorldtask // 任务完成推送 func (this *ModelWorldtask) taskFinishPush(session comm.IUserSession, groupId int32, userTask *pb.DBWorldtask, curTaskConf *cfg.GameWorldTaskData) { + this.updateRandomTask(session.GetUserId(), userTask) + nextTaskIds := this.findNextTasks(curTaskConf.Key) this.moduleWorldtask.Debug("nextTaskIds", log.Field{Key: "nextTaskIds", Value: nextTaskIds}) @@ -353,6 +355,23 @@ func (this *ModelWorldtask) updateRandomTask(uid string, myWorldtask *pb.DBWorld now := configure.Now().Unix() update := make(map[string]interface{}) + // 日常 + if now-myWorldtask.DaliyRefreshTime >= 3600*24 { + dailyIds := this.randomTask(user.Lv, dailyDes, myWorldtask) + if len(dailyIds) > 0 { + for _, v := range dailyIds { + gwtd, err := this.moduleWorldtask.configure.getWorldtaskById(v) + if err != nil || gwtd == nil { + continue + } + myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ + TaskId: v, + TaskType: gwtd.Des, + } + } + update["daliyRefreshTime"] = configure.Now().Unix() + } + } //周常 if now-myWorldtask.WeekRefreshTime >= 3600*24*7 { weekIds := this.randomTask(user.Lv, weekDes, myWorldtask)