移除世界任务进度推送
This commit is contained in:
parent
98ff8233cb
commit
e28eccd873
@ -34,11 +34,11 @@ func (this *ModuleRobot_WTask) Receive(robot IRobot, stype string, message proto
|
|||||||
case "info":
|
case "info":
|
||||||
resp := message.(*pb.WTaskInfoResp)
|
resp := message.(*pb.WTaskInfoResp)
|
||||||
this.info = resp.Info
|
this.info = resp.Info
|
||||||
this.progress = resp.Accepts
|
// this.progress = resp.Accepts
|
||||||
break
|
break
|
||||||
case "accept":
|
case "accept":
|
||||||
resp := message.(*pb.WTaskAcceptResp)
|
resp := message.(*pb.WTaskAcceptResp)
|
||||||
this.progress = resp.Accepts
|
// this.progress = resp.Accepts
|
||||||
if this.info != nil {
|
if this.info != nil {
|
||||||
this.info.Activations = resp.Activations
|
this.info.Activations = resp.Activations
|
||||||
this.info.Accepts = make([]int32, 0)
|
this.info.Accepts = make([]int32, 0)
|
||||||
@ -80,17 +80,17 @@ func (this *ModuleRobot_WTask) Receive(robot IRobot, stype string, message proto
|
|||||||
this.info.Activations = resp.Activations
|
this.info.Activations = resp.Activations
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
case "acceptchange":
|
// case "acceptchange":
|
||||||
resp := message.(*pb.WTaskAcceptChangePush)
|
// resp := message.(*pb.WTaskAcceptChangePush)
|
||||||
// log.Debug("[机器人 WTask-AcceptChange]", log.Field{Key: "Account", Value: robot.Account()}, log.Field{Key: "Resp", Value: resp.String()})
|
// // log.Debug("[机器人 WTask-AcceptChange]", log.Field{Key: "Account", Value: robot.Account()}, log.Field{Key: "Resp", Value: resp.String()})
|
||||||
this.progress = resp.Accepts
|
// this.progress = resp.Accepts
|
||||||
if this.info != nil {
|
// if this.info != nil {
|
||||||
this.info.Accepts = make([]int32, 0)
|
// this.info.Accepts = make([]int32, 0)
|
||||||
for _, v := range this.progress {
|
// for _, v := range this.progress {
|
||||||
this.info.Accepts = append(this.info.Accepts, v.Tid)
|
// this.info.Accepts = append(this.info.Accepts, v.Tid)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
break
|
// break
|
||||||
case "boxchange":
|
case "boxchange":
|
||||||
resp := message.(*pb.WTaskBoxChangePush)
|
resp := message.(*pb.WTaskBoxChangePush)
|
||||||
this.info.Boxs = resp.Boxs
|
this.info.Boxs = resp.Boxs
|
||||||
|
@ -16,13 +16,13 @@ func (this *apiComp) AcceptCheck(session comm.IUserSession, req *pb.WTaskAcceptR
|
|||||||
// /获取系统公告
|
// /获取系统公告
|
||||||
func (this *apiComp) Accept(session comm.IUserSession, req *pb.WTaskAcceptReq) (errdata *pb.ErrorData) {
|
func (this *apiComp) Accept(session comm.IUserSession, req *pb.WTaskAcceptReq) (errdata *pb.ErrorData) {
|
||||||
var (
|
var (
|
||||||
wtask *pb.DBWTask
|
wtask *pb.DBWTask
|
||||||
conf *cfg.GameWorldTaskData
|
conf *cfg.GameWorldTaskData
|
||||||
progress []*pb.DBWTaskItem
|
// progress []*pb.DBWTaskItem
|
||||||
update map[string]interface{} = make(map[string]interface{})
|
update map[string]interface{} = make(map[string]interface{})
|
||||||
boxs map[int32]int32
|
boxs map[int32]int32
|
||||||
ok bool
|
ok bool
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
if errdata = this.AcceptCheck(session, req); errdata != nil {
|
if errdata = this.AcceptCheck(session, req); errdata != nil {
|
||||||
return
|
return
|
||||||
@ -96,11 +96,9 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.WTaskAcceptReq) (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if progress, errdata = this.module.pushtaskprogress(session, wtask, false); errdata != nil {
|
// if progress, errdata = this.module.pushtaskprogress(session, wtask, false); errdata != nil {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
session.SendMsg(string(this.module.GetType()), "accept", &pb.WTaskAcceptResp{Tid: req.Tid, Activations: wtask.Activations, Accepts: progress})
|
|
||||||
|
|
||||||
if err = this.module.modelwtask.Change(session.GetUserId(), update); err != nil {
|
if err = this.module.modelwtask.Change(session.GetUserId(), update); err != nil {
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_DBError,
|
Code: pb.ErrorCode_DBError,
|
||||||
@ -109,7 +107,7 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.WTaskAcceptReq) (
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
session.SendMsg(string(this.module.GetType()), "accept", &pb.WTaskAcceptResp{Tid: req.Tid, Activations: wtask.Activations})
|
||||||
go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) {
|
go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) {
|
||||||
this.module.WriteUserLog(session.GetUserId(), req, comm.GMResAddType, "WTaskAcceptReq", conf.GetItem)
|
this.module.WriteUserLog(session.GetUserId(), req, comm.GMResAddType, "WTaskAcceptReq", conf.GetItem)
|
||||||
})
|
})
|
||||||
|
@ -14,9 +14,9 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.WTaskInfoReq)
|
|||||||
// /获取系统公告
|
// /获取系统公告
|
||||||
func (this *apiComp) Info(session comm.IUserSession, req *pb.WTaskInfoReq) (errdata *pb.ErrorData) {
|
func (this *apiComp) Info(session comm.IUserSession, req *pb.WTaskInfoReq) (errdata *pb.ErrorData) {
|
||||||
var (
|
var (
|
||||||
wtask *pb.DBWTask
|
wtask *pb.DBWTask
|
||||||
progress []*pb.DBWTaskItem
|
// progress []*pb.DBWTaskItem
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
if errdata = this.InfoCheck(session, req); errdata != nil {
|
if errdata = this.InfoCheck(session, req); errdata != nil {
|
||||||
return
|
return
|
||||||
@ -33,10 +33,10 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.WTaskInfoReq) (errd
|
|||||||
if _, errdata = this.module.fishtask(session, wtask, false); errdata != nil {
|
if _, errdata = this.module.fishtask(session, wtask, false); errdata != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if progress, errdata = this.module.pushtaskprogress(session, wtask, false); errdata != nil {
|
// if progress, errdata = this.module.pushtaskprogress(session, wtask, false); errdata != nil {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
session.SendMsg(string(this.module.GetType()), "info", &pb.WTaskInfoResp{Info: wtask, Accepts: progress})
|
session.SendMsg(string(this.module.GetType()), "info", &pb.WTaskInfoResp{Info: wtask})
|
||||||
if err = this.module.modelwtask.updateUserWTasks(session.GetUserId(), wtask); err != nil {
|
if err = this.module.modelwtask.updateUserWTasks(session.GetUserId(), wtask); err != nil {
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_DBError,
|
Code: pb.ErrorCode_DBError,
|
||||||
|
@ -73,84 +73,84 @@ func (this *WTask) OnInstallComp() {
|
|||||||
|
|
||||||
// 埋点通知
|
// 埋点通知
|
||||||
func (this *WTask) BuriedsNotify(session comm.IUserSession, condis []*pb.ConIProgress) {
|
func (this *WTask) BuriedsNotify(session comm.IUserSession, condis []*pb.ConIProgress) {
|
||||||
var (
|
// var (
|
||||||
condisMap map[int32]*pb.ConIProgress = make(map[int32]*pb.ConIProgress)
|
// condisMap map[int32]*pb.ConIProgress = make(map[int32]*pb.ConIProgress)
|
||||||
utask *pb.DBWTask
|
// utask *pb.DBWTask
|
||||||
accepttaskMap map[int32]struct{} = make(map[int32]struct{})
|
// accepttaskMap map[int32]struct{} = make(map[int32]struct{})
|
||||||
condlTask map[int32][]*cfg.GameWorldTaskData
|
// condlTask map[int32][]*cfg.GameWorldTaskData
|
||||||
temptasks []*cfg.GameWorldTaskData
|
// temptasks []*cfg.GameWorldTaskData
|
||||||
changetasks map[int32]*cfg.GameWorldTaskData = make(map[int32]*cfg.GameWorldTaskData)
|
// changetasks map[int32]*cfg.GameWorldTaskData = make(map[int32]*cfg.GameWorldTaskData)
|
||||||
checkcondlsMap map[int32]struct{} = make(map[int32]struct{})
|
// checkcondlsMap map[int32]struct{} = make(map[int32]struct{})
|
||||||
checkcondls []int32 = make([]int32, 0)
|
// checkcondls []int32 = make([]int32, 0)
|
||||||
detailstasks []*pb.DBWTaskItem = make([]*pb.DBWTaskItem, 0)
|
// detailstasks []*pb.DBWTaskItem = make([]*pb.DBWTaskItem, 0)
|
||||||
ok bool
|
// ok bool
|
||||||
needcheck bool //是否需要校验
|
// needcheck bool //是否需要校验
|
||||||
|
|
||||||
err error
|
// err error
|
||||||
)
|
// )
|
||||||
this.Debug("收到子任务进度变化推送", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "condis", Value: condis})
|
// this.Debug("收到子任务进度变化推送", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "condis", Value: condis})
|
||||||
if utask, err = this.modelwtask.getUserWTasks(session.GetUserId()); err != nil {
|
// if utask, err = this.modelwtask.getUserWTasks(session.GetUserId()); err != nil {
|
||||||
this.Error("读取玩家世界任务数据 失败", log.Field{Key: "err", Value: err.Error()})
|
// this.Error("读取玩家世界任务数据 失败", log.Field{Key: "err", Value: err.Error()})
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
condlTask = this.configure.getcondlTask()
|
// condlTask = this.configure.getcondlTask()
|
||||||
|
|
||||||
for _, v := range condis {
|
// for _, v := range condis {
|
||||||
condisMap[v.Conid] = v
|
// condisMap[v.Conid] = v
|
||||||
}
|
// }
|
||||||
|
|
||||||
for _, v := range utask.Accepts {
|
// for _, v := range utask.Accepts {
|
||||||
accepttaskMap[v] = struct{}{}
|
// accepttaskMap[v] = struct{}{}
|
||||||
}
|
// }
|
||||||
|
|
||||||
for _, v := range condis {
|
// for _, v := range condis {
|
||||||
if temptasks, ok = condlTask[v.Conid]; ok {
|
// if temptasks, ok = condlTask[v.Conid]; ok {
|
||||||
for _, task := range temptasks {
|
// for _, task := range temptasks {
|
||||||
if _, ok = accepttaskMap[task.Key]; ok { //任务列表进度有变化
|
// if _, ok = accepttaskMap[task.Key]; ok { //任务列表进度有变化
|
||||||
if _, ok = changetasks[task.Key]; !ok {
|
// if _, ok = changetasks[task.Key]; !ok {
|
||||||
changetasks[task.Key] = task
|
// changetasks[task.Key] = task
|
||||||
for _, cid := range task.Completetask {
|
// for _, cid := range task.Completetask {
|
||||||
if _, ok = checkcondlsMap[cid]; !ok {
|
// if _, ok = checkcondlsMap[cid]; !ok {
|
||||||
checkcondlsMap[cid] = struct{}{}
|
// checkcondlsMap[cid] = struct{}{}
|
||||||
checkcondls = append(checkcondls, cid)
|
// checkcondls = append(checkcondls, cid)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if len(changetasks) == 0 { //没有任务变化
|
// if len(changetasks) == 0 { //没有任务变化
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
for k, _ := range checkcondlsMap {
|
// for k, _ := range checkcondlsMap {
|
||||||
if _, ok = condisMap[k]; !ok {
|
// if _, ok = condisMap[k]; !ok {
|
||||||
needcheck = true
|
// needcheck = true
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if needcheck { //校验有变化的任务 的完成条件
|
// if needcheck { //校验有变化的任务 的完成条件
|
||||||
if condis, err = this.ModuleBuried.CheckCondition(session, checkcondls...); err != nil {
|
// if condis, err = this.ModuleBuried.CheckCondition(session, checkcondls...); err != nil {
|
||||||
this.Error("校验玩家子任务进度数据 失败", log.Field{Key: "err", Value: err.Error()})
|
// this.Error("校验玩家子任务进度数据 失败", log.Field{Key: "err", Value: err.Error()})
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
for _, v := range condis {
|
// for _, v := range condis {
|
||||||
condisMap[v.Conid] = v
|
// condisMap[v.Conid] = v
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
//推送进度变化消息
|
// //推送进度变化消息
|
||||||
for k, v := range changetasks {
|
// for k, v := range changetasks {
|
||||||
task := &pb.DBWTaskItem{
|
// task := &pb.DBWTaskItem{
|
||||||
Tid: k,
|
// Tid: k,
|
||||||
Conlds: make([]*pb.ConIProgress, len(v.Completetask)),
|
// Conlds: make([]*pb.ConIProgress, len(v.Completetask)),
|
||||||
}
|
// }
|
||||||
for i, v := range v.Completetask {
|
// for i, v := range v.Completetask {
|
||||||
task.Conlds[i] = condisMap[v]
|
// task.Conlds[i] = condisMap[v]
|
||||||
}
|
// }
|
||||||
detailstasks = append(detailstasks, task)
|
// detailstasks = append(detailstasks, task)
|
||||||
}
|
// }
|
||||||
//发送进度变化消息
|
// //发送进度变化消息
|
||||||
session.SendMsg(string(this.GetType()), "acceptchange", &pb.WTaskAcceptChangePush{Accepts: detailstasks})
|
// session.SendMsg(string(this.GetType()), "acceptchange", &pb.WTaskAcceptChangePush{Accepts: detailstasks})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 功能开启
|
// 功能开启
|
||||||
@ -475,7 +475,7 @@ func (this *WTask) ClearCaravanTask(session comm.IUserSession, task int32) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if change {
|
if change {
|
||||||
this.pushtaskprogress(session, wtask, true)
|
// this.pushtaskprogress(session, wtask, true)
|
||||||
if err = this.modelwtask.updateUserWTasks(session.GetUserId(), wtask); err != nil {
|
if err = this.modelwtask.updateUserWTasks(session.GetUserId(), wtask); err != nil {
|
||||||
this.Errorln(err)
|
this.Errorln(err)
|
||||||
return
|
return
|
||||||
@ -577,77 +577,77 @@ func (this *WTask) BingoJumpTask(session comm.IUserSession, taskId int32) (errda
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 校验任务进度
|
// 校验任务进度
|
||||||
func (this *WTask) pushtaskprogress(session comm.IUserSession, wtask *pb.DBWTask, ispush bool) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData) {
|
// func (this *WTask) pushtaskprogress(session comm.IUserSession, wtask *pb.DBWTask, ispush bool) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData) {
|
||||||
var (
|
// var (
|
||||||
checkcondlsMap map[int32]struct{} = make(map[int32]struct{})
|
// checkcondlsMap map[int32]struct{} = make(map[int32]struct{})
|
||||||
checkcondls []int32 = make([]int32, 0)
|
// checkcondls []int32 = make([]int32, 0)
|
||||||
conf *cfg.GameWorldTaskData
|
// conf *cfg.GameWorldTaskData
|
||||||
condis []*pb.ConIProgress = make([]*pb.ConIProgress, 0)
|
// condis []*pb.ConIProgress = make([]*pb.ConIProgress, 0)
|
||||||
condisMap map[int32]*pb.ConIProgress = make(map[int32]*pb.ConIProgress)
|
// condisMap map[int32]*pb.ConIProgress = make(map[int32]*pb.ConIProgress)
|
||||||
err error
|
// err error
|
||||||
ok bool
|
// ok bool
|
||||||
)
|
// )
|
||||||
progress = make([]*pb.DBWTaskItem, 0)
|
// progress = make([]*pb.DBWTaskItem, 0)
|
||||||
if len(wtask.Accepts) == 0 {
|
// if len(wtask.Accepts) == 0 {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
|
|
||||||
for _, v := range wtask.Accepts {
|
// for _, v := range wtask.Accepts {
|
||||||
if conf, err = this.configure.gettaskconfconfigure(v); err != nil {
|
// if conf, err = this.configure.gettaskconfconfigure(v); err != nil {
|
||||||
this.Errorln(err)
|
// this.Errorln(err)
|
||||||
errdata = &pb.ErrorData{
|
// errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_ConfigNoFound,
|
// Code: pb.ErrorCode_ConfigNoFound,
|
||||||
Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
// Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
||||||
Message: err.Error(),
|
// Message: err.Error(),
|
||||||
}
|
// }
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
for _, v := range conf.Completetask {
|
// for _, v := range conf.Completetask {
|
||||||
if _, ok = checkcondlsMap[v]; !ok {
|
// if _, ok = checkcondlsMap[v]; !ok {
|
||||||
checkcondlsMap[v] = struct{}{}
|
// checkcondlsMap[v] = struct{}{}
|
||||||
checkcondls = append(checkcondls, v)
|
// checkcondls = append(checkcondls, v)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if len(checkcondls) > 0 {
|
// if len(checkcondls) > 0 {
|
||||||
if condis, err = this.ModuleBuried.CheckCondition(session, checkcondls...); err != nil {
|
// if condis, err = this.ModuleBuried.CheckCondition(session, checkcondls...); err != nil {
|
||||||
this.Error("校验玩家子任务进度数据 失败", log.Field{Key: "err", Value: err.Error()})
|
// this.Error("校验玩家子任务进度数据 失败", log.Field{Key: "err", Value: err.Error()})
|
||||||
errdata = &pb.ErrorData{
|
// errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_ExternalModule,
|
// Code: pb.ErrorCode_ExternalModule,
|
||||||
Title: pb.ErrorCode_ExternalModule.ToString(),
|
// Title: pb.ErrorCode_ExternalModule.ToString(),
|
||||||
Message: fmt.Sprintf("ModuleBuried.CheckCondition Error:%s", err.Error()),
|
// Message: fmt.Sprintf("ModuleBuried.CheckCondition Error:%s", err.Error()),
|
||||||
}
|
// }
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
for _, v := range condis {
|
// for _, v := range condis {
|
||||||
condisMap[v.Conid] = v
|
// condisMap[v.Conid] = v
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
for _, v := range wtask.Accepts {
|
// for _, v := range wtask.Accepts {
|
||||||
if conf, err = this.configure.gettaskconfconfigure(v); err != nil {
|
// if conf, err = this.configure.gettaskconfconfigure(v); err != nil {
|
||||||
errdata = &pb.ErrorData{
|
// errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_ConfigNoFound,
|
// Code: pb.ErrorCode_ConfigNoFound,
|
||||||
Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
// Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
||||||
Message: err.Error(),
|
// Message: err.Error(),
|
||||||
}
|
// }
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
task := &pb.DBWTaskItem{
|
// task := &pb.DBWTaskItem{
|
||||||
Tid: v,
|
// Tid: v,
|
||||||
Conlds: make([]*pb.ConIProgress, len(conf.Completetask)),
|
// Conlds: make([]*pb.ConIProgress, len(conf.Completetask)),
|
||||||
}
|
// }
|
||||||
ok = true
|
// ok = true
|
||||||
for i, v := range conf.Completetask {
|
// for i, v := range conf.Completetask {
|
||||||
task.Conlds[i] = condisMap[v]
|
// task.Conlds[i] = condisMap[v]
|
||||||
}
|
// }
|
||||||
progress = append(progress, task)
|
// progress = append(progress, task)
|
||||||
}
|
// }
|
||||||
if ispush {
|
// if ispush {
|
||||||
session.SendMsg(string(this.GetType()), "acceptchange", &pb.WTaskAcceptChangePush{Accepts: progress})
|
// session.SendMsg(string(this.GetType()), "acceptchange", &pb.WTaskAcceptChangePush{Accepts: progress})
|
||||||
}
|
// }
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 完成任务
|
// 完成任务
|
||||||
func (this *WTask) fishtask(session comm.IUserSession, wtask *pb.DBWTask, ispush bool) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData) {
|
func (this *WTask) fishtask(session comm.IUserSession, wtask *pb.DBWTask, ispush bool) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData) {
|
||||||
@ -772,7 +772,7 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
|
|||||||
if errdata = this.ModuleBuried.ActiveCondition(session, condiIds...); err != nil {
|
if errdata = this.ModuleBuried.ActiveCondition(session, condiIds...); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
progress, errdata = this.pushtaskprogress(session, wtask, ispush)
|
// progress, errdata = this.pushtaskprogress(session, wtask, ispush)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user