服务发现基础逻辑
This commit is contained in:
+13
-4
@@ -7,11 +7,17 @@ import (
|
||||
"work_cation/pkg/utils"
|
||||
)
|
||||
|
||||
type userRepo struct{}
|
||||
type userRepo struct {
|
||||
isNew bool
|
||||
users models.Users
|
||||
}
|
||||
|
||||
var User *userRepo
|
||||
var User = &userRepo{}
|
||||
|
||||
func (*userRepo) GetUserInfo(db *gorm.DB) *models.Users {
|
||||
func (u *userRepo) GetUserInfo(db *gorm.DB) *models.Users {
|
||||
if u.isNew {
|
||||
return &u.users
|
||||
}
|
||||
var users models.Users
|
||||
ip := utils.IP.Get192Ip()
|
||||
db.Where("ip = ?", ip).Find(&users)
|
||||
@@ -32,9 +38,12 @@ func (*userRepo) GetUserInfo(db *gorm.DB) *models.Users {
|
||||
}
|
||||
db.Create(&users)
|
||||
}
|
||||
u.isNew = true
|
||||
u.users = users
|
||||
return &users
|
||||
}
|
||||
|
||||
func (*userRepo) Update(db *gorm.DB, newUser *models.Users) error {
|
||||
func (u *userRepo) Update(db *gorm.DB, newUser *models.Users) error {
|
||||
u.isNew = false
|
||||
return db.Model(&models.Users{}).Where("ID = ?", newUser.ID).Updates(newUser).Error
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"gorm.io/gorm"
|
||||
"work_cation/models"
|
||||
)
|
||||
|
||||
type userFollowRepo struct{}
|
||||
|
||||
var UserFollow = &userFollowRepo{}
|
||||
|
||||
func (u *userFollowRepo) Follow(db *gorm.DB, user *models.UserFollows) error {
|
||||
return db.Create(user).Error
|
||||
}
|
||||
|
||||
func (u *userFollowRepo) GetUser(db *gorm.DB, uuid string) *models.UserFollows {
|
||||
var user models.UserFollows
|
||||
err := db.Model(&models.UserFollows{}).Where("id = ?", uuid).Find(&user).Error
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if user.ID == "" {
|
||||
return nil
|
||||
}
|
||||
return &user
|
||||
}
|
||||
Reference in New Issue
Block a user