mirror of https://github.com/bjdgyc/anylink.git
修复数据库时间比前端小8小时的问题,优化null值前端不显示
This commit is contained in:
parent
a533ee0a78
commit
812eb587bb
|
@ -64,10 +64,13 @@ func One(fieldName string, value interface{}, data interface{}) error {
|
||||||
|
|
||||||
// 用户过期时间到达后,更新用户状态,并返回一个状态为过期的用户切片
|
// 用户过期时间到达后,更新用户状态,并返回一个状态为过期的用户切片
|
||||||
func CheckUserlimittime() []interface{} {
|
func CheckUserlimittime() []interface{} {
|
||||||
|
//初始化xorm时区
|
||||||
|
xdb.DatabaseTZ = time.Local
|
||||||
|
xdb.TZLocation = time.Local
|
||||||
var user map[int64]User
|
var user map[int64]User
|
||||||
var limitUser []interface{}
|
var limitUser []interface{}
|
||||||
u := &User{Status: 2}
|
u := &User{Status: 2}
|
||||||
xdb.Where("limittime < ?", time.Now()).And("status = ?", 1).Update(u)
|
xdb.Where("limittime <= ?", time.Now()).And("status = ?", 1).Update(u)
|
||||||
xdb.Where("status= ?", 2).Find(u)
|
xdb.Where("status= ?", 2).Find(u)
|
||||||
for _, v := range user {
|
for _, v := range user {
|
||||||
limitUser = append(limitUser, v.Username)
|
limitUser = append(limitUser, v.Username)
|
||||||
|
|
|
@ -30,7 +30,7 @@ type User struct {
|
||||||
Email string `json:"email" xorm:"varchar(255)"`
|
Email string `json:"email" xorm:"varchar(255)"`
|
||||||
// Password string `json:"password"`
|
// Password string `json:"password"`
|
||||||
PinCode string `json:"pin_code" xorm:"varchar(32)"`
|
PinCode string `json:"pin_code" xorm:"varchar(32)"`
|
||||||
LimitTime time.Time `json:"limittime" xorm:"Datetime limittime"`
|
LimitTime *time.Time `json:"limittime,omitempty" xorm:"Datetime limittime"` //值为null时,前端不显示
|
||||||
OtpSecret string `json:"otp_secret" xorm:"varchar(255)"`
|
OtpSecret string `json:"otp_secret" xorm:"varchar(255)"`
|
||||||
DisableOtp bool `json:"disable_otp" xorm:"Bool"` // 禁用otp
|
DisableOtp bool `json:"disable_otp" xorm:"Bool"` // 禁用otp
|
||||||
Groups []string `json:"groups" xorm:"Text"`
|
Groups []string `json:"groups" xorm:"Text"`
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
// AnyLink 是一个企业级远程办公vpn软件,可以支持多人同时在线使用。
|
// AnyLink 是一个企业级远程办公vpn软件,可以支持多人同时在线使用。
|
||||||
|
|
||||||
|
//go:build !windows
|
||||||
// +build !windows
|
// +build !windows
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
|
@ -116,8 +116,7 @@ func checkSession() {
|
||||||
|
|
||||||
// 状态为过期的用户踢下线
|
// 状态为过期的用户踢下线
|
||||||
func CloseUserLimittimeSession() {
|
func CloseUserLimittimeSession() {
|
||||||
y := dbdata.CheckUserlimittime()
|
s := mapset.NewSetFromSlice(dbdata.CheckUserlimittime())
|
||||||
s := mapset.NewSetFromSlice(y)
|
|
||||||
for k, v := range sessions {
|
for k, v := range sessions {
|
||||||
sessMux.Lock()
|
sessMux.Lock()
|
||||||
v.mux.Lock()
|
v.mux.Lock()
|
||||||
|
|
Loading…
Reference in New Issue