admin_log.go 1005 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package subscribes
  2. import (
  3. "encoding/json"
  4. "gadmin/config"
  5. "gadmin/internal/gorm/model"
  6. "gadmin/internal/gorm/query"
  7. "github.com/nats-io/nats.go"
  8. "github.com/sirupsen/logrus"
  9. "time"
  10. )
  11. // AdminLog 后台日志订阅
  12. var AdminLog = new(sAdminLog)
  13. type sAdminLog struct{}
  14. func (s *sAdminLog) Handle(m *nats.Msg) (err error) {
  15. var data model.AdminLog
  16. if err = json.Unmarshal(m.Data, &data); err != nil {
  17. return err
  18. }
  19. if data.GetData == "" {
  20. data.GetData = "{}"
  21. }
  22. if data.PostData == "" {
  23. data.PostData = "{}"
  24. }
  25. if data.HeaderData == "" {
  26. data.HeaderData = "{}"
  27. }
  28. if data.Data == "" {
  29. data.Data = "{}"
  30. }
  31. //// 压缩节省存储空间
  32. //d, err := compress.MarshalJsonAndGzip(data.Data)
  33. //if err != nil {
  34. // return err
  35. //}
  36. //data.Data = base64.StdEncoding.EncodeToString(d)
  37. data.CreatedAt = time.Now()
  38. if err = query.Use(config.DB).AdminLog.Create(&data); err != nil {
  39. logrus.Warnf("AdminLog Create err:%+v, data.Data.len:%v", err, len(data.Data))
  40. }
  41. return nil
  42. }