mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-17 16:56:38 +08:00
logout the user when it has been disabled
This commit is contained in:
parent
5fa17b300e
commit
d315edef5f
@ -17,6 +17,7 @@ import (
|
|||||||
"geekai/store/vo"
|
"geekai/store/vo"
|
||||||
"geekai/utils"
|
"geekai/utils"
|
||||||
"geekai/utils/resp"
|
"geekai/utils/resp"
|
||||||
|
"github.com/go-redis/redis/v8"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@ -26,10 +27,11 @@ import (
|
|||||||
type UserHandler struct {
|
type UserHandler struct {
|
||||||
handler.BaseHandler
|
handler.BaseHandler
|
||||||
licenseService *service.LicenseService
|
licenseService *service.LicenseService
|
||||||
|
redis *redis.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewUserHandler(app *core.AppServer, db *gorm.DB, licenseService *service.LicenseService) *UserHandler {
|
func NewUserHandler(app *core.AppServer, db *gorm.DB, licenseService *service.LicenseService, redisCli *redis.Client) *UserHandler {
|
||||||
return &UserHandler{BaseHandler: handler.BaseHandler{App: app, DB: db}, licenseService: licenseService}
|
return &UserHandler{BaseHandler: handler.BaseHandler{App: app, DB: db}, licenseService: licenseService, redis: redisCli}
|
||||||
}
|
}
|
||||||
|
|
||||||
// List 用户列表
|
// List 用户列表
|
||||||
@ -140,6 +142,13 @@ func (h *UserHandler) Save(c *gin.Context) {
|
|||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 如果禁用了用户,则将用户踢下线
|
||||||
|
if user.Status == false {
|
||||||
|
key := fmt.Sprintf("users/%v", user.Id)
|
||||||
|
if _, err := h.redis.Del(c, key).Result(); err != nil {
|
||||||
|
logger.Error("error with delete session: ", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 检查用户是否已经存在
|
// 检查用户是否已经存在
|
||||||
h.DB.Where("username", data.Username).First(&user)
|
h.DB.Where("username", data.Username).First(&user)
|
||||||
|
Loading…
Reference in New Issue
Block a user