trackmgr.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package track
  2. import (
  3. "strconv"
  4. "strings"
  5. "bet24.com/log"
  6. )
  7. type trackmgr struct {
  8. }
  9. func newTrackMgr() *trackmgr {
  10. log.Debug("track manager running")
  11. return &trackmgr{}
  12. }
  13. // 记录
  14. func (this *trackmgr) record(userId int, level_1, level_2, level_3 string) {
  15. var (
  16. videoName string
  17. amount int
  18. err error
  19. )
  20. level := level_3
  21. //广告处理
  22. if level_2 == "请求广告" || level_2 == "请求游戏广告" {
  23. if level_3 != "" {
  24. list := strings.Split(level_3, "@")
  25. log.Debug("track.trackmgr record userId=%d level_1=%s level_2=%s level_3=%s list=%+v",
  26. userId, level_1, level_2, level_3, list)
  27. for idx, _ := range list {
  28. switch idx {
  29. case 0:
  30. level = list[idx]
  31. case 1:
  32. videoName = list[idx]
  33. case 2:
  34. if amount, err = strconv.Atoi(list[2]); err != nil {
  35. log.Error("track.trackmgr record userId=%d level_1=%s level_2=%s level_3=%s err=%+v",
  36. userId, level_1, level_2, level_3, err)
  37. }
  38. }
  39. }
  40. }
  41. }
  42. go record(userId, level_1, level_2, level, videoName, amount)
  43. }