Blame view

actions/accountaction.go 1.32 KB
ee23102d   zhangqijia   支持mongo, grpc接服务器
1
2
3
4
5
6
7
8
9
10
11
12
  package actions
  
  import (
  	"context"
  	"fmt"
  	"pro2d/conf"
  	"pro2d/models"
  	"pro2d/protos/pb"
  	"pro2d/utils"
  )
  
  func (s *AccountServer) RegisterHandler(ctx context.Context, in *pb.Register) (*pb.PubRsp, error) {
3592dfd3   zhangqijia   重构models, 索引唯一索引
13
  	ok, account := models.AccountExistByPhone(in.Phone)
ee23102d   zhangqijia   支持mongo, grpc接服务器
14
15
16
  	if !ok {
  		account.Phone = in.Phone
  		account.Password = utils.Md5V(in.Password)
1584eb4b   zhangqijia   修复创建唯一索引的bug
17
  		account.Uid = conf.SnowFlack.NextValStr()
ee23102d   zhangqijia   支持mongo, grpc接服务器
18
19
20
21
22
23
24
25
26
  		account.Device = "123123"
  		account.Create()
  	}else {
  		return nil, fmt.Errorf("1")
  	}
  
  	return &pb.PubRsp{
  		Code: 0,
  	}, nil
ee23102d   zhangqijia   支持mongo, grpc接服务器
27
28
29
  }
  
  func (s *AccountServer) CreateTokenHandler(ctx context.Context, in *pb.AccountInfo) (*pb.CreateTokenRsp, error) {
1584eb4b   zhangqijia   修复创建唯一索引的bug
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  	m := models.NewAccount(in.Phone)
  	if err := m.Load(); err != nil {
  		return &pb.CreateTokenRsp{
  			Rsp: &pb.PubRsp{
  				Code: 1,
  				Msg: err.Error(),
  			},
  		}, nil
  	}
  
  	if m.Password != utils.Md5V(in.Password) {
  		return &pb.CreateTokenRsp{
  			Rsp: &pb.PubRsp{
  				Code: 2,
  				Msg: "password error",
  			},
  		}, nil
  	}
  
286f6dbe   zhangqijia   etcd 保存服务信息
49
50
51
52
53
54
55
56
57
58
  	serverInfo := s.EtcdClient.GetByPrefix(conf.GlobalConf.GameConf.Name)
  	var gameInfo []*pb.ServiceInfo
  	for k, v := range serverInfo {
  		gameInfo = append(gameInfo, &pb.ServiceInfo{
  			Id:      k,
  			Name:    conf.GlobalConf.GameConf.Name,
  			Address: v,
  		})
  	}
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
59
  	return &pb.CreateTokenRsp{
1584eb4b   zhangqijia   修复创建唯一索引的bug
60
61
62
  		Rsp: &pb.PubRsp{
  			Code: 0,
  		},
ee23102d   zhangqijia   支持mongo, grpc接服务器
63
  		Token: utils.CreateToken(in),
286f6dbe   zhangqijia   etcd 保存服务信息
64
  		GameService: gameInfo,
ee23102d   zhangqijia   支持mongo, grpc接服务器
65
66
  	}, nil
  }