This commit is contained in:
meixiongfeng 2023-03-31 21:11:40 +08:00
commit a8a900523b
3 changed files with 70 additions and 71 deletions

View File

@ -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

View File

@ -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)
}
}
}
//判断任务是否已完成

View File

@ -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)
}
}
}