sys_session.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package system
  2. import (
  3. "eta_gn/eta_api/global"
  4. "github.com/beego/beego/v2/client/orm"
  5. "time"
  6. )
  7. type SysSession struct {
  8. Id int `orm:"column(id);pk"`
  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. //func (m *SysSession) TableName() string {
  18. // return "sys_session"
  19. //}
  20. // AddSysSession 新增用户登录session信息
  21. func AddSysSession(item *SysSession) (err error) {
  22. o := global.DEFAULT_DmSQL
  23. err = o.Create(item).Error
  24. return
  25. }
  26. func GetSysSessionBySysUserId(sysUserId int) (item *SysSession, err error) {
  27. sql := `SELECT * FROM sys_session WHERE sys_user_id=? AND expired_time> NOW() ORDER BY expired_time DESC LIMIT 1 `
  28. o := orm.NewOrm()
  29. err = o.Raw(sql, sysUserId).QueryRow(&item)
  30. return
  31. }
  32. // GetSysSessionByToken 根据token获取session
  33. func GetSysSessionByToken(token string) (item *SysSession, err error) {
  34. sql := `SELECT * FROM sys_session WHERE access_token=? AND expired_time> NOW() ORDER BY expired_time DESC LIMIT 1 `
  35. o := orm.NewOrm()
  36. err = o.Raw(sql, token).QueryRow(&item)
  37. return
  38. }
  39. // ExpiredSysSessionByAdminId 过期掉用户token
  40. func ExpiredSysSessionByAdminId(adminId int) (err error) {
  41. sql := `update sys_session set expired_time = NOW() WHERE sys_user_id=? `
  42. o := orm.NewOrm()
  43. _, err = o.Raw(sql, adminId).Exec()
  44. return
  45. }
  46. // UnBindAdminRecordByUserId 根据系统用户id解除绑定用户关系
  47. func UnBindAdminRecordByUserId(userId int) (err error) {
  48. o := orm.NewOrm()
  49. msql := ` UPDATE admin_record SET user_id = 0 WHERE user_id = ? `
  50. _, err = o.Raw(msql, userId).Exec()
  51. return
  52. }