Blame view

actions/roleaction.go 1.13 KB
ee23102d   zhangqijia   支持mongo, grpc接服务器
1
2
3
4
5
  package actions
  
  import (
  	"context"
  	"errors"
ee23102d   zhangqijia   支持mongo, grpc接服务器
6
  	"google.golang.org/grpc/metadata"
563acaf7   zhangqijia   在拦截器中认证jwt
7
  	"google.golang.org/protobuf/types/known/emptypb"
f7f4beb5   zhangqijia   新增grpc平滑关闭,修复crea...
8
  	"pro2d/conf"
ee23102d   zhangqijia   支持mongo, grpc接服务器
9
10
11
  	"pro2d/models"
  	"pro2d/protos/pb"
  	"pro2d/utils"
ee23102d   zhangqijia   支持mongo, grpc接服务器
12
13
  )
  
563acaf7   zhangqijia   在拦截器中认证jwt
14
  func (s *GameServer) HeartBeatHandler(ctx context.Context, empty *emptypb.Empty) (*pb.HeartRsp, error) {
ee23102d   zhangqijia   支持mongo, grpc接服务器
15
16
  	utils.Sugar.Debugf("HeartBeatHandler被调用!!!")
  	//获取元数据信息
563acaf7   zhangqijia   在拦截器中认证jwt
17
  	_,ok := metadata.FromIncomingContext(ctx)
ee23102d   zhangqijia   支持mongo, grpc接服务器
18
19
20
  	if !ok {
  		return nil,errors.New("未传输token")
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
21
  
563acaf7   zhangqijia   在拦截器中认证jwt
22
  	return &pb.HeartRsp{
ee23102d   zhangqijia   支持mongo, grpc接服务器
23
  		Code: 0,
ee23102d   zhangqijia   支持mongo, grpc接服务器
24
25
26
  	}, nil
  }
  
563acaf7   zhangqijia   在拦截器中认证jwt
27
28
  func (s *GameServer) CreateRoleHandler(ctx context.Context, in  *pb.LoginReq) (*pb.RoleRsp, error) {
  	ok, role := models.RoleExistByUid(in.Uid)
ee23102d   zhangqijia   支持mongo, grpc接服务器
29
  	if !ok {
f7f4beb5   zhangqijia   新增grpc平滑关闭,修复crea...
30
  		role = models.NewRole(conf.SnowFlack.NextVal())
563acaf7   zhangqijia   在拦截器中认证jwt
31
32
  		role.Role.Device = in.Device
  		role.Role.Uid = in.Uid
ee23102d   zhangqijia   支持mongo, grpc接服务器
33
  		role.Create()
ee23102d   zhangqijia   支持mongo, grpc接服务器
34
35
  	}
  	return &pb.RoleRsp{
563acaf7   zhangqijia   在拦截器中认证jwt
36
  		Code: 0,
ee23102d   zhangqijia   支持mongo, grpc接服务器
37
38
39
40
  		Role: role.Role,
  	}, nil
  }
  
563acaf7   zhangqijia   在拦截器中认证jwt
41
42
  func (s *GameServer) LoginHandler(ctx context.Context, in *pb.LoginReq) (*pb.RoleRsp, error) {
  	ok, role := models.RoleExistByUid(in.Uid)
ee23102d   zhangqijia   支持mongo, grpc接服务器
43
44
  	if !ok {
  		return &pb.RoleRsp{
563acaf7   zhangqijia   在拦截器中认证jwt
45
  			Code: 1,
ee23102d   zhangqijia   支持mongo, grpc接服务器
46
47
48
  		}, nil
  	}
  	return &pb.RoleRsp{
563acaf7   zhangqijia   在拦截器中认证jwt
49
  		Code: 0,
ee23102d   zhangqijia   支持mongo, grpc接服务器
50
  		Role: role.Role,
eb417b0b   zhangqijia   reactor mongo
51
  		Hero: models.GetHeros(role.Heros),
ee23102d   zhangqijia   支持mongo, grpc接服务器
52
53
  	}, nil
  }