go_dreamfactory/modules/buried/core.go
2023-05-25 13:42:09 +08:00

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
}