package buried import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" ) const ( //创号后入录数据 rtype1 = 1 //接任务后入录数据 rtype2 = 2 ) const ( //叠加数据 overlay = 1 //覆盖数据 cover = 2 ) const ( eq = "eq" // == gt = "gt" // > gte = "gte" //>= lt = "lt" // < lte = "lte" // <= ne = "ne" // != ) //判断埋点数据的有效性 func checkburied(buried *comm.BuriedParam, conf *cfg.GameBuriedCondiData) (efficient bool) { if len(buried.Filter) != len(conf.Filter) { log.Error("校验埋点错误!", log.Field{Key: "buried", Value: buried}, log.Field{Key: "conf", Value: conf}) return } for i, v := range conf.Filter { efficient = false value := buried.Filter[i] switch v.S { case eq: //== if value == v.D { efficient = true } case gt: //> if value > v.D { efficient = true } case gte: //>= if value >= v.D { efficient = true } case lt: //< if value < v.D { efficient = true } case lte: //<= if value <= v.D { efficient = true } case ne: //!= if value != v.D { efficient = true } default: log.Error("校验埋点配置错误!", log.Field{Key: "不存在的比较符号", Value: v}, log.Field{Key: "buried", Value: buried}, log.Field{Key: "conf", Value: conf}) return } if !efficient { //校验不过 return } } efficient = true return } //更新埋点数据 func updateburied(buried *comm.TaskParam, conf *cfg.GameBuriedCondiData, data *pb.DBBuriedItem) (err error) { return }