Blame view

models/role.go 851 Bytes
ee23102d   zhangqijia   支持mongo, grpc接服务器
1
2
3
  package models
  
  import (
eb417b0b   zhangqijia   reactor mongo
4
  	"fmt"
ee23102d   zhangqijia   支持mongo, grpc接服务器
5
  	"pro2d/components/db"
ee23102d   zhangqijia   支持mongo, grpc接服务器
6
  	"pro2d/protos/pb"
1584eb4b   zhangqijia   修复创建唯一索引的bug
7
  	"strconv"
ee23102d   zhangqijia   支持mongo, grpc接服务器
8
9
10
  )
  
  type RoleModel struct {
eb417b0b   zhangqijia   reactor mongo
11
12
13
  	*db.MgoColl
  	Role *pb.Role
  	Heros HeroMap
1584eb4b   zhangqijia   修复创建唯一索引的bug
14
  	Teams *TeamModel
eb417b0b   zhangqijia   reactor mongo
15
16
  	Equip *pb.Equipment
  	Prop *pb.Prop
ee23102d   zhangqijia   支持mongo, grpc接服务器
17
18
  }
  
1584eb4b   zhangqijia   修复创建唯一索引的bug
19
20
21
22
23
  func RoleExistByUid(uid string) (bool, *RoleModel){
  	data := &pb.Role{Uid: uid}
  
  	if err := db.FindOne(db.GetBsonM("uid", uid), data); err != nil {
  		return false, nil
ee23102d   zhangqijia   支持mongo, grpc接服务器
24
  	}
1584eb4b   zhangqijia   修复创建唯一索引的bug
25
26
  	m := NewRole(data.Id)
  	m.Load()
ee23102d   zhangqijia   支持mongo, grpc接服务器
27
28
29
  	return true, m
  }
  
1584eb4b   zhangqijia   修复创建唯一索引的bug
30
31
  func NewRole(id int64) *RoleModel {
  	data := &pb.Role{Id: id}
ee23102d   zhangqijia   支持mongo, grpc接服务器
32
  	m := &RoleModel{
1584eb4b   zhangqijia   修复创建唯一索引的bug
33
34
  		MgoColl: db.NewMongoColl(strconv.Itoa(int(id)), data),
  		Role: data,
eb417b0b   zhangqijia   reactor mongo
35
  		Heros: make(HeroMap),
ee23102d   zhangqijia   支持mongo, grpc接服务器
36
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
37
38
39
40
41
  	return m
  }
  
  func (m *RoleModel) LoadAll()  {
  }
eb417b0b   zhangqijia   reactor mongo
42
43
44
45
46
  
  func (m *RoleModel) LoadHero()  {
  }
  
  func (m *RoleModel) AddHero(hero *pb.Hero) {
3592dfd3   zhangqijia   重构models, 索引唯一索引
47
48
  	h := NewHero(hero.Id)
  	h.Hero = hero
eb417b0b   zhangqijia   reactor mongo
49
50
51
  	h.Create()
  	m.Heros[fmt.Sprintf("%d%d", m.Role.Id, h.Hero.Id)] = h
  }