diff --git a/modules/sociaty/api.go b/modules/sociaty/api.go index e32713789..22f380689 100644 --- a/modules/sociaty/api.go +++ b/modules/sociaty/api.go @@ -45,6 +45,10 @@ const ( SociatySubTypeRecommend = "recommend" ) +const ( + SociatyNoFound = "未找到该玩家的公会" +) + type apiComp struct { modules.MCompGate service base.IRPCXService diff --git a/modules/sociaty/api_cross_accuse.go b/modules/sociaty/api_cross_accuse.go index 95778bc21..4bf8c133f 100644 --- a/modules/sociaty/api_cross_accuse.go +++ b/modules/sociaty/api_cross_accuse.go @@ -21,7 +21,8 @@ func (this *apiComp) Accuse(session comm.IUserSession, req *pb.SociatyAccuseReq) sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { code = pb.ErrorCode_SociatyNoFound - this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) + data.Datastring = uid + data.Message = SociatyNoFound return } diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index 0d99f7fdf..2c9278a9f 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" + "go_dreamfactory/utils" ) // 世界任务完成 @@ -84,7 +85,6 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe log.Field{Key: "uid", Value: uid}, log.Field{Key: "taskId", Value: req.TaskId}, ) - // finishRsp() this.module.modelWorldtask.taskFinishPush(session, req.GroupId, userTask, curTaskConf) return } @@ -94,14 +94,21 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe condiId int32 condiFlag bool ) + + // 检查当前任务的完成条件 for _, condId := range curTaskConf.Completetask { - conIds, err := this.module.ModuleBuried.CheckCondition(uid, condId) - // if this.module.modelWorldtask.checkCondi(uid, condId) { - if err == nil && len(conIds) > 0 { - condiFlag = true - } else { - condiFlag = false - condiId = condId + if v, ok := userTask.CurrentTask[req.GroupId]; ok { + if _, ok := utils.Findx(v.CondiIds, condId); !ok { + conIds, err := this.module.ModuleBuried.CheckCondition(uid, condId) + if err == nil && len(conIds) > 0 { + condiFlag = true + } else { + condiFlag = false + condiId = condId + } + } else { + condiFlag = true + } } } diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go index 89815440c..06f383160 100644 --- a/modules/worldtask/module.go +++ b/modules/worldtask/module.go @@ -98,9 +98,9 @@ func (this *Worldtask) TCondFinishNotify(uid string, conids []int32) { } if len(finishedTaskIds) == 0 { - // this.Debug("未找到通知的世界任务", - // log.Field{Key: "uid", Value: uid}, - // log.Field{Key: "finishedTaskIds", Value: finishedTaskIds}) + // this.Debug("未找到当前世界任务", + // log.Field{Key: "uid", Value: uid}, + // log.Field{Key: "finishedTaskIds", Value: finishedTaskIds}) return } @@ -113,16 +113,9 @@ func (this *Worldtask) TCondFinishNotify(uid string, conids []int32) { wt = &pb.Worldtask{} } - for _, condId := range conids { + for _, condId := range finishedCondIds { if _, ok := utils.Findx(wt.CondiIds, condId); !ok { - condIds, err := this.ModuleBuried.CheckCondition(uid, condId) - if err != nil { - this.Error("完成条件校验错误", log.Field{Key: "condId", Value: condId}) - return - } - if len(condIds) == 1 && condIds[0] == condId { - wt.CondiIds = append(wt.CondiIds, condId) - } + wt.CondiIds = append(wt.CondiIds, condId) } }