init
This commit is contained in:
56
serve/internal/database/user_repository.go
Normal file
56
serve/internal/database/user_repository.go
Normal file
@@ -0,0 +1,56 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"github.com/Nanqipro/YunQue-Tech-Projects/ai_english_learning/serve/internal/model"
|
||||
)
|
||||
|
||||
type UserRepository struct {
|
||||
// 实际项目中这里会有数据库连接
|
||||
}
|
||||
|
||||
func NewUserRepository() *UserRepository {
|
||||
return &UserRepository{}
|
||||
}
|
||||
|
||||
// 创建用户
|
||||
func (r *UserRepository) Create(user *model.User) (string, error) {
|
||||
// 实际项目中这里会执行数据库插入操作
|
||||
// 模拟生成用户ID
|
||||
user.ID = "user-123"
|
||||
return user.ID, nil
|
||||
}
|
||||
|
||||
// 根据ID获取用户
|
||||
func (r *UserRepository) GetByID(id string) (*model.User, error) {
|
||||
// 实际项目中这里会执行数据库查询操作
|
||||
if id == "user-123" {
|
||||
return &model.User{
|
||||
ID: id,
|
||||
Username: "testuser",
|
||||
Email: "test@example.com",
|
||||
Avatar: "",
|
||||
}, nil
|
||||
}
|
||||
return nil, errors.New("用户不存在")
|
||||
}
|
||||
|
||||
// 根据邮箱获取用户
|
||||
func (r *UserRepository) GetByEmail(email string) (*model.User, error) {
|
||||
// 实际项目中这里会执行数据库查询操作
|
||||
if email == "test@example.com" {
|
||||
return &model.User{
|
||||
ID: "user-123",
|
||||
Username: "testuser",
|
||||
Email: email,
|
||||
Password: "password123", // 实际项目中密码应该是加密的
|
||||
}, nil
|
||||
}
|
||||
return nil, errors.New("用户不存在")
|
||||
}
|
||||
|
||||
// 更新用户信息
|
||||
func (r *UserRepository) Update(user *model.User) error {
|
||||
// 实际项目中这里会执行数据库更新操作
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user