Files
go-user-service/service/user_service.go
2025-08-31 18:34:01 +08:00

40 lines
976 B
Go

package service
import (
"context"
"go-user-service/libs"
"go-user-service/models"
userpb "go-user-service/proto/gen"
"go-user-service/utils"
"sync"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
type UserService struct {
userpb.UnimplementedUserServiceServer
tokens map[string]string // token -> userID
mu sync.RWMutex
}
func (u *UserService) Login(ctx context.Context, req *userpb.LoginRequest) (*userpb.LoginResponse, error) {
u.mu.RLock()
defer u.mu.RUnlock()
// 查询是否有这个用户名
var user models.User
db := libs.GetDB()
db.Model(&models.User{}).Where("username = ?", req.Username).First(&user)
if user.Username != "" {
// 验证密码
var crypto utils.Crypto
hashPassword, _ := crypto.PasswordEncryption(user.Password + user.Salt)
if user.Password == hashPassword {
}
return nil, status.Errorf(codes.Unauthenticated, "密码错误")
}
return nil, status.Errorf(codes.NotFound, "用户不存在")
}