This commit is contained in:
wangchuxiao
2022-09-06 01:14:36 +08:00
parent 82a8f18e88
commit 821e704b5b
4 changed files with 14 additions and 24 deletions
+2 -1
View File
@@ -189,9 +189,9 @@ type UserIpRecord struct {
LastLoginTime time.Time `gorm:"column:last_login_time"`
LastLoginIp string `gorm:"column:last_login_ip;size:15"`
LoginTimes int32 `gorm:"column:login_times"`
LoginLimit int32 `gorm:"column:login_limit"`
}
// ip limit login
type IpLimit struct {
Ip string `gorm:"column:ip;primary_key;size:15"`
LimitRegister int32 `gorm:"column:limit_register;size:1"`
@@ -200,6 +200,7 @@ type IpLimit struct {
LimitTime time.Time `gorm:"column:limit_time"`
}
// ip login
type UserIpLimit struct {
UserID string `gorm:"column:user_id;primary_key;size:64"`
Ip string `gorm:"column:ip;primary_key;size:15"`
@@ -5,6 +5,7 @@ import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
"Open_IM/pkg/utils"
"errors"
"fmt"
"strconv"
"time"
@@ -50,11 +51,6 @@ func UserRegister(user db.User) error {
return nil
}
func DeleteUser(userID string) (i int64) {
i = db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userID).Delete(db.User{}).RowsAffected
return i
}
func GetAllUser() ([]db.User, error) {
var userList []db.User
err := db.DB.MysqlDB.DefaultGormDB().Table("users").Find(&userList).Error
@@ -165,15 +161,12 @@ func BlockUser(userID, endDisableTime string) error {
return err
}
if end.Before(time.Now()) {
return constant.ErrDB
return errors.New("endDisableTime is before now")
}
var blockUser db.BlackList
db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userID).First(&blockUser)
if blockUser.UserId != "" {
db.DB.MysqlDB.DefaultGormDB().Model(&blockUser).Where("uid=?", blockUser.UserId).Update("end_disable_time", end)
// if user.LoginLimit != 2 {
// db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2)
// }
return nil
}
blockUser = db.BlackList{
@@ -181,21 +174,12 @@ func BlockUser(userID, endDisableTime string) error {
BeginDisableTime: time.Now(),
EndDisableTime: end,
}
result := db.DB.MysqlDB.DefaultGormDB().Create(&blockUser)
if result.Error == nil {
// if user.LoginLimit != 2 {
// db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2)
// }
}
return result.Error
err = db.DB.MysqlDB.DefaultGormDB().Create(&blockUser).Error
return err
}
func UnBlockUser(userID string) error {
err := db.DB.MysqlDB.DefaultGormDB().Where("uid=?", userID).Delete(&db.BlackList{}).Error
if err != nil {
return err
}
return db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userID).Update("login_limit", 0).Error
return db.DB.MysqlDB.DefaultGormDB().Where("uid=?", userID).Delete(&db.BlackList{}).Error
}
type BlockUserInfo struct {