85 lines
1.6 KiB
Go
85 lines
1.6 KiB
Go
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
|
|
}
|