mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-10 20:15:59 +08:00
cms
This commit is contained in:
@@ -135,7 +135,7 @@ type GroupRequest struct {
|
||||
//int64 CreateTime = 9;
|
||||
//int32 AppMangerLevel = 10;
|
||||
//open_im_sdk.User == imdb.User
|
||||
type User struct {
|
||||
type Users struct {
|
||||
UserID string `gorm:"column:user_id;primary_key;size:64"`
|
||||
Nickname string `gorm:"column:name;size:255"`
|
||||
FaceURL string `gorm:"column:face_url;size:255"`
|
||||
@@ -184,3 +184,9 @@ type ChatLog struct {
|
||||
CreateTime time.Time `gorm:"column:create_time" json:"createTime"`
|
||||
Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"`
|
||||
}
|
||||
|
||||
type BlackList struct {
|
||||
UserId string `gorm:"column:uid"`
|
||||
BeginDisableTime time.Time `gorm:"column:begin_disable_time"`
|
||||
EndDisableTime time.Time `gorm:"column:end_disable_time"`
|
||||
}
|
||||
@@ -57,7 +57,7 @@ func initMysqlDB() {
|
||||
&Group{},
|
||||
&GroupMember{},
|
||||
&GroupRequest{},
|
||||
&User{},
|
||||
&Users{},
|
||||
&Black{}, &ChatLog{})
|
||||
db.Set("gorm:table_options", "CHARSET=utf8")
|
||||
|
||||
|
||||
@@ -56,3 +56,27 @@ func SetGroupInfo(groupInfo db.Group) error {
|
||||
err = dbConn.Table("groups").Where("group_id=?", groupInfo.GroupID).Update(&groupInfo).Error
|
||||
return err
|
||||
}
|
||||
|
||||
func GetGroupByName(groupName string) (db.Group, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
var group db.Group
|
||||
if err != nil {
|
||||
return group, err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
err = dbConn.Table("groups").Where("group_id=?", groupName).Find(&group).Error
|
||||
return group, err
|
||||
}
|
||||
|
||||
func GetGroups(pageNumber, showNumber int) ([]db.Group, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
var groups []db.Group
|
||||
if err != nil {
|
||||
return groups, err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
err = dbConn.Table("groups").Limit(showNumber).Offset(showNumber*(pageNumber-1)).Find(&groups).Error
|
||||
if err != nil {
|
||||
return groups, err
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ func init() {
|
||||
} else {
|
||||
continue
|
||||
}
|
||||
var appMgr db.User
|
||||
var appMgr db.Users
|
||||
appMgr.UserID = v
|
||||
appMgr.Nickname = "AppManager" + utils.IntToString(k+1)
|
||||
appMgr.AppMangerLevel = constant.AppAdmin
|
||||
@@ -32,7 +32,7 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
func UserRegister(user db.User) error {
|
||||
func UserRegister(user db.Users) error {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -68,16 +68,16 @@ func DeleteUser(userID string) (i int64) {
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
i = dbConn.Table("users").Where("user_id=?", userID).Delete(db.User{}).RowsAffected
|
||||
i = dbConn.Table("users").Where("user_id=?", userID).Delete(db.Users{}).RowsAffected
|
||||
return i
|
||||
}
|
||||
|
||||
func GetUserByUserID(userID string) (*db.User, error) {
|
||||
func GetUserByUserID(userID string) (*db.Users, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var user db.User
|
||||
var user db.Users
|
||||
err = dbConn.Table("users").Where("user_id=?", userID).First(&user).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -85,7 +85,7 @@ func GetUserByUserID(userID string) (*db.User, error) {
|
||||
return &user, nil
|
||||
}
|
||||
|
||||
func UpdateUserInfo(user db.User) error {
|
||||
func UpdateUserInfo(user db.Users) error {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -123,16 +123,138 @@ func SelectSomeUserID(userIDList []string) ([]string, error) {
|
||||
return resultArr, nil
|
||||
}
|
||||
|
||||
func GetUsers(showNumber, pageNumber int32) ([]User, error) {
|
||||
func GetUsers(showNumber, pageNumber int32) ([]db.Users, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
var users []db.Users
|
||||
if err != nil {
|
||||
return users, err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
var users []User
|
||||
err = dbConn.Limit(showNumber).Offset(showNumber*(pageNumber-1)).Find(&users).Error
|
||||
if err != nil {
|
||||
return users, err
|
||||
}
|
||||
err = dbConn.Limit(showNumber).Offset(pageNumber).Find(&users).Error
|
||||
if err != nil {
|
||||
return users, err
|
||||
}
|
||||
return users, nil
|
||||
return users, err
|
||||
}
|
||||
|
||||
func GetUsersNumCount() (int, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
var count int
|
||||
if err := dbConn.Model(&db.Users{}).Count(&count).Error; err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
func AddUser(userId, phoneNumber, name string) error {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
user := db.Users{
|
||||
PhoneNumber:phoneNumber,
|
||||
Birth:time.Now(),
|
||||
CreateTime:time.Now(),
|
||||
UserID: userId,
|
||||
Nickname:name,
|
||||
}
|
||||
result := dbConn.Create(&user)
|
||||
return result.Error
|
||||
}
|
||||
|
||||
func UserIsBlock(userId string) (bool, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
var user db.BlackList
|
||||
rows := dbConn.Table("black_list").Where("uid=?", userId).First(&user).RowsAffected
|
||||
if rows >= 1 {
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func BlockUser(userId, endDisableTime string) error {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
end, err := time.Parse("2006-01-02 15:04:05", endDisableTime)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if end.Before(time.Now()) {
|
||||
return constant.ErrDB
|
||||
}
|
||||
var user db.BlackList
|
||||
dbConn.Table("black_list").Where("uid=?", userId).First(&user)
|
||||
if user.UserId != "" {
|
||||
dbConn.Model(&user).Where("uid=?", user.UserId).Update("end_disable_time", end)
|
||||
return nil
|
||||
}
|
||||
user = db.BlackList{
|
||||
UserId: userId,
|
||||
BeginDisableTime: time.Now(),
|
||||
EndDisableTime: end,
|
||||
}
|
||||
result := dbConn.Create(&user)
|
||||
return result.Error
|
||||
}
|
||||
|
||||
func UnBlockUser(userId string) error {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
fmt.Println(userId)
|
||||
result := dbConn.Where("uid=?", userId).Delete(&db.BlackList{})
|
||||
return result.Error
|
||||
}
|
||||
|
||||
func GetBlockUsersID(showNumber, pageNumber int32) ([]string, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
var blockUsers []db.BlackList
|
||||
var blockUserIds []string
|
||||
if err != nil {
|
||||
return blockUserIds, err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
err = dbConn.Limit(showNumber).Offset(showNumber*(pageNumber-1)).Find(&blockUsers).Error
|
||||
if err != nil {
|
||||
return blockUserIds, err
|
||||
}
|
||||
for _, v := range blockUsers {
|
||||
blockUserIds = append(blockUserIds, v.UserId)
|
||||
}
|
||||
return blockUserIds, err
|
||||
}
|
||||
|
||||
func GetBlockUsers(userIds []string) ([]db.Users, error){
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
var blockUsers []db.Users
|
||||
if err != nil {
|
||||
return blockUsers, err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
dbConn.Find(&blockUsers,userIds)
|
||||
return blockUsers, err
|
||||
}
|
||||
|
||||
func GetBlockUsersNumCount() (int, error) {
|
||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
dbConn.LogMode(true)
|
||||
var count int
|
||||
if err := dbConn.Model(&db.BlackList{}).Count(&count).Error; err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
Reference in New Issue
Block a user