package system import ( "eta/eta_api/global" "eta/eta_api/utils" "time" ) type SysSession struct { Id int `orm:"column(id);pk" gorm:"primaryKey" gorm:"primaryKey"` SysUserId int UserName string AccessToken string IsRemember int `description:"是否属于受信设备"` ExpiredTime time.Time CreatedTime time.Time LastUpdatedTime time.Time } // AddSysSession 新增用户登录session信息 func AddSysSession(item *SysSession) (err error) { o := global.DbMap[utils.DbNameMaster] err = o.Create(item).Error return } func GetSysSessionBySysUserId(sysUserId int) (item *SysSession, err error) { sql := `SELECT * FROM sys_session WHERE sys_user_id=? AND expired_time> NOW() ORDER BY expired_time DESC LIMIT 1 ` o := global.DbMap[utils.DbNameMaster] err = o.Raw(sql, sysUserId).First(&item).Error return } // GetSysSessionByToken 根据token获取session func GetSysSessionByToken(token string) (item *SysSession, err error) { sql := `SELECT * FROM sys_session WHERE access_token=? AND expired_time> NOW() ORDER BY expired_time DESC LIMIT 1 ` o := global.DbMap[utils.DbNameMaster] err = o.Raw(sql, token).First(&item).Error return } // ExpiredSysSessionByAdminId 过期掉用户token func ExpiredSysSessionByAdminId(adminId int) (err error) { sql := `update sys_session set expired_time = NOW() WHERE sys_user_id=? ` o := global.DbMap[utils.DbNameMaster] err = o.Exec(sql, adminId).Error return } // UnBindAdminRecordByUserId 根据系统用户id解除绑定用户关系 func UnBindAdminRecordByUserId(userId int) (err error) { o := global.DbMap[utils.DbNameMaster] msql := ` UPDATE admin_record SET user_id = 0 WHERE user_id = ? ` err = o.Exec(msql, userId).Error return }