修复任务完成判断
This commit is contained in:
parent
ef00cae401
commit
dd231f44d1
@ -25,6 +25,11 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
|
|||||||
|
|
||||||
uid := session.GetUserId()
|
uid := session.GetUserId()
|
||||||
|
|
||||||
|
rsp := &pb.WorldtaskFinishResp{
|
||||||
|
GroupId: req.GroupId,
|
||||||
|
TaskId: req.TaskId,
|
||||||
|
}
|
||||||
|
|
||||||
// 获取用户信息
|
// 获取用户信息
|
||||||
user := this.module.ModuleUser.GetUser(uid)
|
user := this.module.ModuleUser.GetUser(uid)
|
||||||
if user == nil {
|
if user == nil {
|
||||||
@ -69,18 +74,27 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//判断任务是否已完成
|
var nextTaskId int32
|
||||||
for _, t := range userTask.TaskList {
|
nextTaskId = curTaskConf.IdAfter
|
||||||
if t.TaskId == req.TaskId {
|
finishRsp := func() {
|
||||||
code = pb.ErrorCode_WorldtaskFinihed
|
if err := session.SendMsg(string(this.module.GetType()), WorldtaskSubtypeFinish, rsp); err != nil {
|
||||||
|
code = pb.ErrorCode_SystemError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 世界任务类型
|
||||||
|
if curTaskConf.Des == 2 {
|
||||||
|
// 任务完成推送
|
||||||
|
if err := session.SendMsg(string(this.module.GetType()), WorldtaskNexttaskPush, &pb.WorldtaskNexttaskPush{
|
||||||
|
NextTaskId: nextTaskId,
|
||||||
|
}); err != nil {
|
||||||
|
code = pb.ErrorCode_SystemError
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var nextTaskId int32
|
|
||||||
|
|
||||||
finishCall := func() {
|
finishCall := func() {
|
||||||
nextTaskId = curTaskConf.IdAfter
|
|
||||||
defer func() {
|
defer func() {
|
||||||
this.module.Debug("世界任务完成", log.Fields{"uid": uid, "params": req, "nextTaskId": nextTaskId})
|
this.module.Debug("世界任务完成", log.Fields{"uid": uid, "params": req, "nextTaskId": nextTaskId})
|
||||||
}()
|
}()
|
||||||
@ -97,6 +111,15 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//判断任务是否已完成
|
||||||
|
for _, t := range userTask.TaskList {
|
||||||
|
if t.TaskId == req.TaskId {
|
||||||
|
this.module.Debug("任务已完成,返回下一个", log.Fields{"uid": uid, "taskId": req.TaskId})
|
||||||
|
finishRsp()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if curTaskConf.Completetask != 0 {
|
if curTaskConf.Completetask != 0 {
|
||||||
if c := this.module.ModuleRtask.CheckCondi(uid, curTaskConf.Completetask); c == pb.ErrorCode_Success {
|
if c := this.module.ModuleRtask.CheckCondi(uid, curTaskConf.Completetask); c == pb.ErrorCode_Success {
|
||||||
finishCall()
|
finishCall()
|
||||||
@ -108,24 +131,7 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
|
|||||||
finishCall()
|
finishCall()
|
||||||
}
|
}
|
||||||
|
|
||||||
rsp := &pb.WorldtaskFinishResp{
|
finishRsp()
|
||||||
GroupId: req.GroupId,
|
|
||||||
TaskId: req.TaskId,
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := session.SendMsg(string(this.module.GetType()), WorldtaskSubtypeFinish, rsp); err != nil {
|
|
||||||
code = pb.ErrorCode_SystemError
|
|
||||||
}
|
|
||||||
|
|
||||||
// 世界任务类型
|
|
||||||
if curTaskConf.Des == 2 {
|
|
||||||
// 任务完成推送
|
|
||||||
if err := session.SendMsg(string(this.module.GetType()), WorldtaskNexttaskPush, &pb.WorldtaskNexttaskPush{
|
|
||||||
NextTaskId: nextTaskId,
|
|
||||||
}); err != nil {
|
|
||||||
code = pb.ErrorCode_SystemError
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user