remove rdtask check
This commit is contained in:
parent
00c83158b1
commit
47b59bd48d
@ -342,7 +342,7 @@ const (
|
||||
EventUserOffline core.Event_Key = "Event_UserOffline" //用户离线事件
|
||||
|
||||
EventUserChanged core.Event_Key = "event_user_changed" //用户数据变化
|
||||
EventTaskChanged core.Event_Key = "event_task_changed" //任务数据变化
|
||||
// EventTaskChanged core.Event_Key = "event_task_changed" //任务数据变化
|
||||
EventUserVipChanged core.Event_Key = "event_uservip_changed" //用户数据变化
|
||||
EventSociatyRankChanged core.Event_Key = "event_sociatyRank_changed" //公会数据变化
|
||||
|
||||
|
@ -114,7 +114,7 @@ func (this *ModelGrowtask) list(uid string, taskType int32, gt *pb.DBGrowtask) (
|
||||
}
|
||||
|
||||
//任务完成
|
||||
if code := this.moduleGrowtask.ModuleRtask.CheckCondi(uid, v.Fstask); code == nil {
|
||||
if _, err := this.moduleGrowtask.ModuleBuried.CheckCondition(uid, v.Fstask); err == nil {
|
||||
if v.PreTask == 0 {
|
||||
v.Status = pb.GrowtaskStatus_Wait //待领奖状态
|
||||
} else {
|
||||
|
@ -80,8 +80,8 @@ func (this *modelTask) checkTaskStatus(uid string, taskId int32) bool {
|
||||
if conf == nil {
|
||||
return false
|
||||
}
|
||||
if ec := this.module.ModuleRtask.CheckCondi(uid, conf.TypeId); ec != nil {
|
||||
return false
|
||||
}
|
||||
// if ec := this.module.ModuleRtask.CheckCondi(uid, conf.TypeId); ec != nil {
|
||||
// return false
|
||||
// }
|
||||
return true
|
||||
}
|
||||
|
@ -927,26 +927,6 @@ func (this *ModelSociaty) getMemberMax(sociaty *pb.DBSociaty) int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// 校验任务完成状态
|
||||
func (this *ModelSociaty) validTask(uid string, taskId int32) (err error, ok bool) {
|
||||
rsp := &pb.DBRtaskRecord{}
|
||||
if err = this.module.ModuleRtask.RemoteCheckCondi(uid, taskId, rsp); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 遍历玩家任务数据
|
||||
if data, ok := rsp.Vals[taskId]; ok {
|
||||
//查找表配置
|
||||
conf, ok := this.module.rtaskCondConf.GetDataMap()[taskId]
|
||||
if ok {
|
||||
if data.Rtype == conf.Type && data.Data[0] >= conf.Data1 {
|
||||
return nil, true
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 成员退出清理
|
||||
func (this *ModelSociaty) memberClear(sociaty *pb.DBSociaty) error {
|
||||
// 邮件接收人
|
||||
|
@ -27,7 +27,7 @@ func (this *ModelTask) Init(service core.IService, module core.IModule, comp cor
|
||||
err = this.MCompModel.Init(service, module, comp, options)
|
||||
this.moduleTask = module.(*ModuleTask)
|
||||
this.EventApp = event_v2.NewApp()
|
||||
this.EventApp.Listen(comm.EventTaskChanged, this.doTaskHandle)
|
||||
// this.EventApp.Listen(comm.EventTaskChanged, this.doTaskHandle)
|
||||
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
||||
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
||||
})
|
||||
@ -387,135 +387,135 @@ func (this *ModelTask) modifyUserTask(uid string, taskId int32, data map[string]
|
||||
}
|
||||
|
||||
// 清空任务
|
||||
func (this *ModelTask) clearTask(uid string, taskTag ...comm.TaskTag) {
|
||||
if len(taskTag) == 0 {
|
||||
this.moduleTask.Error("TaskTag参数缺失",
|
||||
log.Field{Key: "uid", Value: uid},
|
||||
log.Field{Key: "params", Value: taskTag},
|
||||
)
|
||||
return
|
||||
}
|
||||
var task *pb.DBTask
|
||||
if err := this.GetList(uid, &task); err != nil {
|
||||
this.moduleTask.Errorf("getTaskById err %v", err)
|
||||
return
|
||||
}
|
||||
// func (this *ModelTask) clearTask(uid string, taskTag ...comm.TaskTag) {
|
||||
// if len(taskTag) == 0 {
|
||||
// this.moduleTask.Error("TaskTag参数缺失",
|
||||
// log.Field{Key: "uid", Value: uid},
|
||||
// log.Field{Key: "params", Value: taskTag},
|
||||
// )
|
||||
// return
|
||||
// }
|
||||
// var task *pb.DBTask
|
||||
// if err := this.GetList(uid, &task); err != nil {
|
||||
// this.moduleTask.Errorf("getTaskById err %v", err)
|
||||
// return
|
||||
// }
|
||||
|
||||
if task == nil {
|
||||
this.moduleTask.Error("任务数据空",
|
||||
log.Field{Key: "uid", Value: uid},
|
||||
log.Field{Key: "taskTag", Value: taskTag},
|
||||
)
|
||||
return
|
||||
}
|
||||
// if task == nil {
|
||||
// this.moduleTask.Error("任务数据空",
|
||||
// log.Field{Key: "uid", Value: uid},
|
||||
// log.Field{Key: "taskTag", Value: taskTag},
|
||||
// )
|
||||
// return
|
||||
// }
|
||||
|
||||
dr := this.moduleTask.ModuleRtask.GetCondiData(uid)
|
||||
// dr := this.moduleTask.ModuleRtask.GetCondiData(uid)
|
||||
|
||||
update := map[string]interface{}{}
|
||||
if taskTag[0] == comm.TASK_DAILY {
|
||||
for _, v := range task.DayList {
|
||||
//删除任务条件数据
|
||||
if dr != nil && dr.Vals != nil {
|
||||
delete(dr.Vals, v.TypeId)
|
||||
}
|
||||
}
|
||||
if err := this.moduleTask.ModuleRtask.ChangeCondi(uid, dr.Vals); err != nil {
|
||||
this.moduleTask.Error("更新任务条件数据", log.Field{Key: "uid", Value: uid})
|
||||
}
|
||||
update["dayList"] = make([]*pb.TaskData, 0)
|
||||
} else if taskTag[0] == comm.TASK_WEEKLY {
|
||||
for _, v := range task.WeekList {
|
||||
//删除任务条件数据
|
||||
if dr != nil && dr.Vals != nil {
|
||||
delete(dr.Vals, v.TypeId)
|
||||
}
|
||||
}
|
||||
if err := this.moduleTask.ModuleRtask.ChangeCondi(uid, dr.Vals); err != nil {
|
||||
this.moduleTask.Error("更新任务条件数据", log.Field{Key: "uid", Value: uid})
|
||||
}
|
||||
update["weekList"] = make([]*pb.TaskData, 0)
|
||||
} else if taskTag[0] == comm.TASK_ACHIEVE {
|
||||
for _, v := range task.AchieveList {
|
||||
//删除任务条件数据
|
||||
if dr != nil && dr.Vals != nil {
|
||||
delete(dr.Vals, v.TypeId)
|
||||
}
|
||||
}
|
||||
if err := this.moduleTask.ModuleRtask.ChangeCondi(uid, dr.Vals); err != nil {
|
||||
this.moduleTask.Error("更新任务条件数据", log.Field{Key: "uid", Value: uid})
|
||||
}
|
||||
update["weekList"] = make([]*pb.TaskData, 0)
|
||||
}
|
||||
// update := map[string]interface{}{}
|
||||
// if taskTag[0] == comm.TASK_DAILY {
|
||||
// for _, v := range task.DayList {
|
||||
// //删除任务条件数据
|
||||
// if dr != nil && dr.Vals != nil {
|
||||
// delete(dr.Vals, v.TypeId)
|
||||
// }
|
||||
// }
|
||||
// if err := this.moduleTask.ModuleRtask.ChangeCondi(uid, dr.Vals); err != nil {
|
||||
// this.moduleTask.Error("更新任务条件数据", log.Field{Key: "uid", Value: uid})
|
||||
// }
|
||||
// update["dayList"] = make([]*pb.TaskData, 0)
|
||||
// } else if taskTag[0] == comm.TASK_WEEKLY {
|
||||
// for _, v := range task.WeekList {
|
||||
// //删除任务条件数据
|
||||
// if dr != nil && dr.Vals != nil {
|
||||
// delete(dr.Vals, v.TypeId)
|
||||
// }
|
||||
// }
|
||||
// if err := this.moduleTask.ModuleRtask.ChangeCondi(uid, dr.Vals); err != nil {
|
||||
// this.moduleTask.Error("更新任务条件数据", log.Field{Key: "uid", Value: uid})
|
||||
// }
|
||||
// update["weekList"] = make([]*pb.TaskData, 0)
|
||||
// } else if taskTag[0] == comm.TASK_ACHIEVE {
|
||||
// for _, v := range task.AchieveList {
|
||||
// //删除任务条件数据
|
||||
// if dr != nil && dr.Vals != nil {
|
||||
// delete(dr.Vals, v.TypeId)
|
||||
// }
|
||||
// }
|
||||
// if err := this.moduleTask.ModuleRtask.ChangeCondi(uid, dr.Vals); err != nil {
|
||||
// this.moduleTask.Error("更新任务条件数据", log.Field{Key: "uid", Value: uid})
|
||||
// }
|
||||
// update["weekList"] = make([]*pb.TaskData, 0)
|
||||
// }
|
||||
|
||||
if err := this.moduleTask.modelTask.Change(uid, update); err != nil {
|
||||
this.moduleTask.Error("清空任务数据", log.Field{Key: "uid", Value: uid})
|
||||
}
|
||||
// if err := this.moduleTask.modelTask.Change(uid, update); err != nil {
|
||||
// this.moduleTask.Error("清空任务数据", log.Field{Key: "uid", Value: uid})
|
||||
// }
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
// 任务处理
|
||||
func (this *ModelTask) doTaskHandle(event interface{}, next func(event interface{})) {
|
||||
tl := event.(*TaskListen)
|
||||
// func (this *ModelTask) doTaskHandle(event interface{}, next func(event interface{})) {
|
||||
// tl := event.(*TaskListen)
|
||||
|
||||
data, err := this.moduleTask.configure.getTasks(int32(tl.TaskType))
|
||||
if err != nil {
|
||||
this.moduleTask.Errorf("taskHandle err %v", err)
|
||||
return
|
||||
}
|
||||
// data, err := this.moduleTask.configure.getTasks(int32(tl.TaskType))
|
||||
// if err != nil {
|
||||
// this.moduleTask.Errorf("taskHandle err %v", err)
|
||||
// return
|
||||
// }
|
||||
|
||||
// 获取玩家的任务条件数据
|
||||
dr := this.moduleTask.ModuleRtask.GetCondiData(tl.Uid)
|
||||
if dr == nil {
|
||||
return
|
||||
}
|
||||
// // 获取玩家的任务条件数据
|
||||
// dr := this.moduleTask.ModuleRtask.GetCondiData(tl.Uid)
|
||||
// if dr == nil {
|
||||
// return
|
||||
// }
|
||||
|
||||
// 遍历事件列表
|
||||
for _, conf := range data {
|
||||
// 从任务条件中查找
|
||||
ret, ok := dr.Vals[conf.TypeId]
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
// // 遍历事件列表
|
||||
// for _, conf := range data {
|
||||
// // 从任务条件中查找
|
||||
// ret, ok := dr.Vals[conf.TypeId]
|
||||
// if !ok {
|
||||
// continue
|
||||
// }
|
||||
|
||||
task, ok := this.checkTask(tl.Uid, conf.Key)
|
||||
if !ok {
|
||||
this.moduleTask.Debug("任务已完成", log.Field{Key: "uid", Value: tl.Uid}, log.Field{Key: "任务ID", Value: conf.Key})
|
||||
continue
|
||||
}
|
||||
// task, ok := this.checkTask(tl.Uid, conf.Key)
|
||||
// if !ok {
|
||||
// this.moduleTask.Debug("任务已完成", log.Field{Key: "uid", Value: tl.Uid}, log.Field{Key: "任务ID", Value: conf.Key})
|
||||
// continue
|
||||
// }
|
||||
|
||||
var (
|
||||
progress int32
|
||||
update map[string]interface{}
|
||||
)
|
||||
// var (
|
||||
// progress int32
|
||||
// update map[string]interface{}
|
||||
// )
|
||||
|
||||
if code := this.moduleTask.ModuleRtask.CheckCondi(tl.Uid, conf.TypeId); code == nil {
|
||||
// update data
|
||||
if ret != nil && len(ret.Data) > 0 {
|
||||
progress = ret.Data[0]
|
||||
}
|
||||
update = map[string]interface{}{
|
||||
"progress": progress,
|
||||
"status": 1,
|
||||
}
|
||||
} else {
|
||||
if ret != nil && len(ret.Data) > 0 {
|
||||
progress = ret.Data[0]
|
||||
}
|
||||
update = map[string]interface{}{
|
||||
"progress": progress,
|
||||
}
|
||||
}
|
||||
if err = this.modifyUserTask(tl.Uid, task.TaskId, update); err != nil {
|
||||
return
|
||||
}
|
||||
this.moduleTask.Debug("更新任务",
|
||||
log.Field{Key: "uid", Value: tl.Uid}, log.Field{Key: "任务ID", Value: conf.Key},
|
||||
log.Field{Key: "事件ID", Value: conf.TypeId}, log.Field{Key: "progress", Value: update["progress"]},
|
||||
log.Field{Key: "status", Value: update["status"]},
|
||||
)
|
||||
}
|
||||
return
|
||||
}
|
||||
// if code := this.moduleTask.ModuleRtask.CheckCondi(tl.Uid, conf.TypeId); code == nil {
|
||||
// // update data
|
||||
// if ret != nil && len(ret.Data) > 0 {
|
||||
// progress = ret.Data[0]
|
||||
// }
|
||||
// update = map[string]interface{}{
|
||||
// "progress": progress,
|
||||
// "status": 1,
|
||||
// }
|
||||
// } else {
|
||||
// if ret != nil && len(ret.Data) > 0 {
|
||||
// progress = ret.Data[0]
|
||||
// }
|
||||
// update = map[string]interface{}{
|
||||
// "progress": progress,
|
||||
// }
|
||||
// }
|
||||
// if err = this.modifyUserTask(tl.Uid, task.TaskId, update); err != nil {
|
||||
// return
|
||||
// }
|
||||
// this.moduleTask.Debug("更新任务",
|
||||
// log.Field{Key: "uid", Value: tl.Uid}, log.Field{Key: "任务ID", Value: conf.Key},
|
||||
// log.Field{Key: "事件ID", Value: conf.TypeId}, log.Field{Key: "progress", Value: update["progress"]},
|
||||
// log.Field{Key: "status", Value: update["status"]},
|
||||
// )
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
// 更新活跃度
|
||||
func (this *ModelTask) updateActive(uid string, cfgId int32) error {
|
||||
|
@ -119,13 +119,13 @@ func (this *ModuleTask) GetTaskById(uid string, taskTag, taskId int32) *pb.TaskD
|
||||
// 重置任务
|
||||
func (this *ModuleTask) ResetTask(uid string, taskTag comm.TaskTag) {
|
||||
this.resetActive(uid, taskTag)
|
||||
this.modelTask.clearTask(uid, taskTag)
|
||||
// this.modelTask.clearTask(uid, taskTag)
|
||||
this.modelTaskActive.clearTask(uid, taskTag)
|
||||
}
|
||||
|
||||
// 清理任务数据
|
||||
func (this *ModuleTask) CleanData(uid string) {
|
||||
this.modelTask.clearTask(uid)
|
||||
// this.modelTask.clearTask(uid)
|
||||
this.modelTaskActive.clearTask(uid)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user