sys_session.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package system
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "time"
  6. )
  7. type SysSession struct {
  8. Id int `orm:"column(id);pk" gorm:"primaryKey" gorm:"primaryKey"`
  9. SysUserId int
  10. UserName string
  11. AccessToken string
  12. IsRemember int `description:"是否属于受信设备"`
  13. ExpiredTime time.Time
  14. CreatedTime time.Time
  15. LastUpdatedTime time.Time
  16. }
  17. // AddSysSession 新增用户登录session信息
  18. func AddSysSession(item *SysSession) (err error) {
  19. o := global.DbMap[utils.DbNameMaster]
  20. err = o.Create(item).Error
  21. return
  22. }
  23. func GetSysSessionBySysUserId(sysUserId int) (item *SysSession, err error) {
  24. sql := `SELECT * FROM sys_session WHERE sys_user_id=? AND expired_time> NOW() ORDER BY expired_time DESC LIMIT 1 `
  25. o := global.DbMap[utils.DbNameMaster]
  26. err = o.Raw(sql, sysUserId).First(&item).Error
  27. return
  28. }
  29. // GetSysSessionByToken 根据token获取session
  30. func GetSysSessionByToken(token string) (item *SysSession, err error) {
  31. sql := `SELECT * FROM sys_session WHERE access_token=? AND expired_time> NOW() ORDER BY expired_time DESC LIMIT 1 `
  32. o := global.DbMap[utils.DbNameMaster]
  33. err = o.Raw(sql, token).First(&item).Error
  34. return
  35. }
  36. // ExpiredSysSessionByAdminId 过期掉用户token
  37. func ExpiredSysSessionByAdminId(adminId int) (err error) {
  38. sql := `update sys_session set expired_time = NOW() WHERE sys_user_id=? `
  39. o := global.DbMap[utils.DbNameMaster]
  40. err = o.Exec(sql, adminId).Error
  41. return
  42. }
  43. // UnBindAdminRecordByUserId 根据系统用户id解除绑定用户关系
  44. func UnBindAdminRecordByUserId(userId int) (err error) {
  45. o := global.DbMap[utils.DbNameMaster]
  46. msql := ` UPDATE admin_record SET user_id = 0 WHERE user_id = ? `
  47. err = o.Exec(msql, userId).Error
  48. return
  49. }