服务发现基础逻辑

This commit is contained in:
2024-10-12 00:38:18 +08:00
parent d1d7f56ce4
commit e6f5aaa02f
10 changed files with 216 additions and 31 deletions
+13 -4
View File
@@ -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
}
+26
View File
@@ -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
}