sys_login_log.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package model
  2. import (
  3. model2 "cold-delivery/common/model"
  4. "encoding/json"
  5. "errors"
  6. "time"
  7. log "gogs.baozhida.cn/zoie/OAuth-core/logger"
  8. "gogs.baozhida.cn/zoie/OAuth-core/sdk"
  9. "gogs.baozhida.cn/zoie/OAuth-core/sdk/config"
  10. "gogs.baozhida.cn/zoie/OAuth-core/storage"
  11. )
  12. type SysLoginLog struct {
  13. model2.Model
  14. Username string `json:"username" gorm:"size:128;comment:用户名"`
  15. Status string `json:"status" gorm:"size:4;comment:状态"`
  16. Ipaddr string `json:"ipaddr" gorm:"size:255;comment:ip地址"`
  17. LoginLocation string `json:"loginLocation" gorm:"size:255;comment:归属地"`
  18. Browser string `json:"browser" gorm:"size:255;comment:浏览器"`
  19. Os string `json:"os" gorm:"size:255;comment:系统"`
  20. Platform string `json:"platform" gorm:"size:255;comment:固件"`
  21. LoginTime time.Time `json:"loginTime" gorm:"comment:登录时间"`
  22. Remark string `json:"remark" gorm:"size:255;comment:备注"`
  23. Msg string `json:"msg" gorm:"size:255;comment:信息"`
  24. CreatedAt time.Time `json:"createdAt" gorm:"comment:创建时间"`
  25. UpdatedAt time.Time `json:"updatedAt" gorm:"comment:最后更新时间"`
  26. model2.ControlBy
  27. }
  28. func (SysLoginLog) TableName() string {
  29. return "sys_login_log"
  30. }
  31. func (e *SysLoginLog) Generate() model2.ActiveRecord {
  32. o := *e
  33. return &o
  34. }
  35. func (e *SysLoginLog) GetId() interface{} {
  36. return e.Id
  37. }
  38. // SaveLoginLog 从队列中获取登录日志
  39. func SaveLoginLog(message storage.Messager) (err error) {
  40. //准备db
  41. db := sdk.Runtime.GetDbByKey(config.ApplicationConfig.Host)
  42. if db == nil {
  43. err = errors.New("db not exist")
  44. log.Errorf("host[%s]'s %s", message.GetPrefix(), err.Error())
  45. return err
  46. }
  47. var rb []byte
  48. rb, err = json.Marshal(message.GetValues())
  49. if err != nil {
  50. log.Errorf("json Marshal error, %s", err.Error())
  51. return err
  52. }
  53. var l SysLoginLog
  54. err = json.Unmarshal(rb, &l)
  55. if err != nil {
  56. log.Errorf("json Unmarshal error, %s", err.Error())
  57. return err
  58. }
  59. err = db.Create(&l).Error
  60. if err != nil {
  61. log.Errorf("db create error, %s", err.Error())
  62. return err
  63. }
  64. return nil
  65. }