user_log.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package dao
  2. import (
  3. "context"
  4. "fmt"
  5. "time"
  6. "go-common/app/interface/main/dm2/model"
  7. "go-common/library/log"
  8. "go-common/library/net/metadata"
  9. "go-common/library/queue/databus/report"
  10. )
  11. const (
  12. _businessUserLogDm = 161
  13. // dm log
  14. _typeUserLogDm = 1
  15. _actionUserLogDmPost = "danmu_post"
  16. // garbage dm
  17. _typeUserLogGarbageDm = 2
  18. _actionUserLogGarbageDm = "danmu_garbage"
  19. )
  20. func init() {
  21. report.InitUser(nil)
  22. }
  23. // ReportDmGarbageLog report garbage dm
  24. func (d *Dao) ReportDmGarbageLog(c context.Context, dm *model.DM) (err error) {
  25. return d.reportUserLog(c, dm, _typeUserLogGarbageDm, _actionUserLogGarbageDm)
  26. }
  27. // ReportDmLog report dm post log
  28. func (d *Dao) ReportDmLog(c context.Context, dm *model.DM) (err error) {
  29. return d.reportUserLog(c, dm, _typeUserLogDm, _actionUserLogDmPost)
  30. }
  31. func (d *Dao) reportUserLog(c context.Context, dm *model.DM, userLogType int, userLogAction string) (err error) {
  32. var (
  33. remoteIP, remoteAddr = metadata.String(c, metadata.RemoteIP), metadata.String(c, metadata.RemotePort)
  34. msg string
  35. )
  36. if dm.Content == nil {
  37. return
  38. }
  39. msg = dm.Content.Msg
  40. if dm.ContentSpe != nil {
  41. msg = dm.ContentSpe.Msg
  42. }
  43. if err = report.User(&report.UserInfo{
  44. Mid: dm.Mid,
  45. Business: _businessUserLogDm,
  46. Type: userLogType,
  47. Oid: dm.ID,
  48. Action: userLogAction,
  49. Ctime: time.Now(),
  50. Platform: fmt.Sprint(dm.Content.Plat),
  51. IP: remoteIP,
  52. Index: []interface{}{dm.Oid},
  53. Content: map[string]interface{}{
  54. "ip": remoteIP,
  55. "port": remoteAddr,
  56. "msg": msg,
  57. },
  58. }); err != nil {
  59. log.Error("reportUserLog(dmid:%v) error(%v)", dm.ID, err)
  60. return
  61. }
  62. return
  63. }