update
This commit is contained in:
parent
d1dcc03e3a
commit
4a18a075f5
@ -20,6 +20,12 @@ func (a *apiComp) Accept(session comm.IUserSession, req *pb.WorldtaskAcceptReq)
|
||||
return
|
||||
}
|
||||
uid := session.GetUserId()
|
||||
user := a.module.ModuleUser.GetUser(uid)
|
||||
if user == nil {
|
||||
code = pb.ErrorCode_UserSessionNobeing
|
||||
return
|
||||
}
|
||||
|
||||
myWorldtask, err := a.module.modelWorldtask.getWorldtask(uid)
|
||||
if err != nil {
|
||||
a.module.Error("获取玩家世界任务失败", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
|
||||
@ -34,6 +40,19 @@ func (a *apiComp) Accept(session comm.IUserSession, req *pb.WorldtaskAcceptReq)
|
||||
return
|
||||
}
|
||||
|
||||
// 判断玩家等级要求
|
||||
if user.Lv < curTaskConf.Lock {
|
||||
code = pb.ErrorCode_WorldtaskLvNotEnough
|
||||
return
|
||||
}
|
||||
|
||||
// 前置任务ID 只有世界任务才校验前置
|
||||
if !a.module.modelWorldtask.IsPreFinished(req.GroupId, myWorldtask, curTaskConf) {
|
||||
a.module.Debug("前置任务未完成", log.Field{Key: "uid", Value: uid}, log.Field{Key: "preTaskId", Value: curTaskConf.Ontxe}, log.Field{Key: "taskId", Value: curTaskConf.Key})
|
||||
code = pb.ErrorCode_WorldtaskLastUnFinished
|
||||
return
|
||||
}
|
||||
|
||||
if myWorldtask.CurrentTask == nil {
|
||||
myWorldtask.CurrentTask = make(map[int32]*pb.Worldtask)
|
||||
}
|
||||
|
@ -184,18 +184,17 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
|
||||
} else {
|
||||
// 章节完成
|
||||
if _, ok := userTask.Chapters[req.GroupId]; !ok {
|
||||
delete(userTask.CurrentTask, req.GroupId)
|
||||
if userTask.Chapters == nil {
|
||||
delete(userTask.CurrentTask, req.GroupId)
|
||||
userTask.Chapters = make(map[int32]int32)
|
||||
userTask.Chapters[req.GroupId] = 1 //已解锁待领取
|
||||
update := map[string]interface{}{
|
||||
"chapters": userTask.Chapters,
|
||||
"currentTask": userTask.CurrentTask,
|
||||
}
|
||||
this.module.modelWorldtask.Change(uid, update)
|
||||
}
|
||||
userTask.Chapters[req.GroupId] = 1 //已解锁待领取
|
||||
update := map[string]interface{}{
|
||||
"chapters": userTask.Chapters,
|
||||
"currentTask": userTask.CurrentTask,
|
||||
}
|
||||
this.module.modelWorldtask.Change(uid, update)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,16 +231,16 @@ func (this *ModelWorldtask) taskFinishPush(session comm.IUserSession, groupId in
|
||||
if curTaskConf.IdAfter == 0 {
|
||||
// 章节完成
|
||||
if _, ok := userTask.Chapters[groupId]; !ok {
|
||||
delete(userTask.CurrentTask, groupId)
|
||||
if userTask.Chapters == nil {
|
||||
delete(userTask.CurrentTask, groupId)
|
||||
userTask.Chapters = make(map[int32]int32)
|
||||
userTask.Chapters[groupId] = 1 //已解锁待领取
|
||||
update := map[string]interface{}{
|
||||
"chapters": userTask.Chapters,
|
||||
"currentTask": userTask.CurrentTask,
|
||||
}
|
||||
this.Change(session.GetUserId(), update)
|
||||
}
|
||||
userTask.Chapters[groupId] = 1 //已解锁待领取
|
||||
update := map[string]interface{}{
|
||||
"chapters": userTask.Chapters,
|
||||
"currentTask": userTask.CurrentTask,
|
||||
}
|
||||
this.Change(session.GetUserId(), update)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user