diff --git a/modules/practice/api_expulsion.go b/modules/practice/api_expulsion.go index 9d383dad5..8f0101dff 100644 --- a/modules/practice/api_expulsion.go +++ b/modules/practice/api_expulsion.go @@ -178,46 +178,49 @@ func (this *apiComp) Expulsion(session comm.IUserSession, req *pb.PracticeExpuls } } defer func() { - this.module.PutUserSession(_session) + if ok { //在线直接推送消息 + this.module.PutUserSession(_session) + } }() - if _session, ok = this.module.GetUserSession(pillar.Uid); ok { - if _, code = this.module.ModuleHero.AddHeroExp(_session, pillar.Hero, exp); code != pb.ErrorCode_Success { - return - } - if code = this.module.DispenseRes(_session, append(ants1, ants2...), true); code != pb.ErrorCode_Success { - return - } - if code = this.module.ModuleHero.KungFuHero(_session, pillar.Hero, false, ""); code != pb.ErrorCode_Success { - return - } - } else { - if _, code = this.module.ModuleHero.AddHeroExp(_session, pillar.Hero, exp); code != pb.ErrorCode_Success { - return - } - if code = this.module.ModuleHero.KungFuHero(_session, pillar.Hero, false, ""); code != pb.ErrorCode_Success { - return - } - res := make([]*pb.UserAssets, 0) - for _, v := range ants1 { - res = append(res, &pb.UserAssets{ - A: v.A, - T: v.T, - N: v.N, - }) - } - for _, v := range ants2 { - res = append(res, &pb.UserAssets{ - A: v.A, - T: v.T, - N: v.N, - }) - } - this.module.mail.SendNewMail(&pb.DBMailData{ - Cid: "Drivethemail", - CreateTime: uint64(configure.Now().Unix()), - Items: res, - }, pillar.Uid) + _session, ok = this.module.GetUserSession(pillar.Uid) + // if _session, ok = this.module.GetUserSession(pillar.Uid); ok { + // if _, code = this.module.ModuleHero.AddHeroExp(_session, pillar.Hero, exp); code != pb.ErrorCode_Success { + // return + // } + // if code = this.module.DispenseRes(_session, append(ants1, ants2...), true); code != pb.ErrorCode_Success { + // return + // } + // if code = this.module.ModuleHero.KungFuHero(_session, pillar.Hero, false, ""); code != pb.ErrorCode_Success { + // return + // } + // } else { + if _, code = this.module.ModuleHero.AddHeroExp(_session, pillar.Hero, exp); code != pb.ErrorCode_Success { + return } + if code = this.module.ModuleHero.KungFuHero(_session, pillar.Hero, false, ""); code != pb.ErrorCode_Success { + return + } + res := make([]*pb.UserAssets, 0) + for _, v := range ants1 { + res = append(res, &pb.UserAssets{ + A: v.A, + T: v.T, + N: v.N, + }) + } + for _, v := range ants2 { + res = append(res, &pb.UserAssets{ + A: v.A, + T: v.T, + N: v.N, + }) + } + this.module.mail.SendNewMail(&pb.DBMailData{ + Cid: "Drivethemail", + CreateTime: uint64(configure.Now().Unix()), + Items: res, + }, pillar.Uid) + // } froom.Knapsack[pillar.Teacher] = 0 froom.Knapsack[pillar.Prop] = 0 diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index 7dd8143c1..63d51799c 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -203,32 +203,30 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe ) return } - + // 发奖 + if code = this.module.DispenseRes(session, curTaskConf.Reword, true); code != pb.ErrorCode_Success { + this.module.Error("资源发放", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "groupId", Value: req.GroupId}, + log.Field{Key: "taskId", Value: req.TaskId}, + log.Field{Key: "reword", Value: curTaskConf.Reword}, + log.Field{Key: "code", Value: code}, + ) + } + //判断是否配置了通知module - if len(curTaskConf.Module) == 0 { - // 发奖 - if code = this.module.DispenseRes(session, curTaskConf.Reword, true); code != pb.ErrorCode_Success { - this.module.Error("资源发放", - log.Field{Key: "uid", Value: uid}, - log.Field{Key: "groupId", Value: req.GroupId}, - log.Field{Key: "taskId", Value: req.TaskId}, - log.Field{Key: "reword", Value: curTaskConf.Reword}, - log.Field{Key: "code", Value: code}, - ) + for _, m := range curTaskConf.Module { + i, err := this.service.GetModule(core.M_Modules(m)) + if err != nil { + this.module.Errorln(err) + continue } - } else { - for _, m := range curTaskConf.Module { - i, err := this.service.GetModule(core.M_Modules(m)) - if err != nil { - this.module.Errorln(err) - continue - } - if ic, ok := i.(comm.ITaskComplete); ok { - ic.TaskComplete(session, req.TaskId) - } + if ic, ok := i.(comm.ITaskComplete); ok { + ic.TaskComplete(session, req.TaskId) } } + } //判断任务是否已完成 diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index e3fba5c7c..ad8e124a2 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -273,20 +273,18 @@ func (this *ModelWorldtask) taskFinish(session comm.IUserSession, groupId, taskI return } + this.moduleWorldtask.DispenseRes(session, curTaskConf.Reword, true) //判断是否配置了通知module - if len(curTaskConf.Module) == 0 { - this.moduleWorldtask.DispenseRes(session, curTaskConf.Reword, true) - } else { - for _, m := range curTaskConf.Module { - i, err := this.service.GetModule(core.M_Modules(m)) - if err != nil { - this.moduleWorldtask.Errorln(err) - continue - } + for _, m := range curTaskConf.Module { + i, err := this.service.GetModule(core.M_Modules(m)) + if err != nil { + this.moduleWorldtask.Errorln(err) + continue + } - if ic, ok := i.(comm.ITaskComplete); ok { - ic.TaskComplete(session, taskId) - } + if ic, ok := i.(comm.ITaskComplete); ok { + ic.TaskComplete(session, taskId) } } + }