feat 网关鉴权

This commit is contained in:
2025-12-22 18:04:36 +08:00
parent 69cc960fe5
commit 670140e7d3
68 changed files with 1424 additions and 492 deletions

View File

@@ -1,21 +1,54 @@
package server
import (
"common/log"
"common/db/redis"
"common/net/http/http_resp"
"common/proto/ss/grpc_pb"
"common/utils"
"context"
"errors"
"fmt"
"gorm.io/gorm"
"user/internal/dao/model"
"user/internal/dao/repository"
)
func (s *Server) Login(ctx context.Context, req *grpc_pb.LoginReq) (*grpc_pb.LoginResp, error) {
log.Infof("Login req: %+v", req)
userDao := repository.NewUserDao(ctx, redis.GetCacheClient())
user, err := userDao.FindByPhone(req.Phone)
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
user = &model.User{
Phone: req.Phone,
}
if err := userDao.Create(user); err != nil {
return nil, err
}
user.Name = fmt.Sprintf("user_%d", user.Sn)
_ = userDao.Updates(user)
} else {
return nil, err
}
}
user, err := repository.NewUserDao(ctx).FindBySn(857527344353)
return &grpc_pb.LoginResp{
USN: user.Sn,
Name: user.Name,
}, nil
}
func (s *Server) GetUserInfo(ctx context.Context, req *grpc_pb.GetUserInfoReq) (*grpc_pb.GetUserInfoResp, error) {
if !utils.ShouldBindUsn(ctx, &req.USN) {
return nil, http_resp.ParamError
}
userDao := repository.NewUserDao(ctx, redis.GetCacheClient())
user, err := userDao.FindBySn(req.USN)
if err != nil {
return nil, err
}
return &grpc_pb.LoginResp{
UID: int32(user.Sn),
return &grpc_pb.GetUserInfoResp{
USN: user.Sn,
Name: user.Name,
}, nil
}