You need to sign in before continuing.

Commit a2d4f770378e7a075f13d2bd8d4addd0fb483078

Authored by zhangqijia
1 parent 4e75670c

fix: 首次通关记录到数据库

cmd/gameserver/action/RoleAction.go
... ... @@ -186,7 +186,7 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i
186 186 return 1, nil
187 187 }
188 188 chapterInfo := csvdata.Get().TbRogueChapter.Get(req.ChapterId)
189   - chapterCount, first := role.Role.PassChapters[req.ChapterId]
  189 + chapterCount, first := role.Role.Passchapters[req.ChapterId]
190 190 carbonInfo, ok := chapterInfo.Carbons[req.CarbonId]
191 191 if !ok {
192 192 logger.Error("carbonInfo not exists")
... ... @@ -202,14 +202,14 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i
202 202  
203 203 reward := make(common.IMapStringNum)
204 204 if !first {
205   - role.Role.PassChapters[req.ChapterId] = 1
  205 + role.Role.Passchapters[req.ChapterId] = 1
206 206 for k, v := range common.StringToMapNum(carbonInfo.FirstAward) {
207 207 reward[k] = v
208 208 }
209 209 } else {
210   - role.Role.PassChapters[req.ChapterId] = chapterCount + 1
211   - role.UpdateProperty("pass_chapters", role.Role.PassChapters, false)
  210 + role.Role.Passchapters[req.ChapterId] = chapterCount + 1
212 211 }
  212 + role.SetProperty("passchapters", role.Role.Passchapters)
213 213  
214 214 for k, v := range common.StringToMapNum(carbonInfo.NormalAward) {
215 215 rv, ok := reward[k]
... ... @@ -232,15 +232,20 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i
232 232 level, exp := role.UpLevel(amount)
233 233 role.UpdateProperties(map[string]interface{}{"level": level, "exp": exp}, true)
234 234  
  235 + rsp := &pb.RoleEndBattleRsp{
  236 + RoleLevel: level,
  237 + RoleExp: exp,
  238 + }
  239 +
235 240 //team exp
236   - heros := make([]*pb.Hero, 4)
  241 + heros := make([]*pb.Hero, 3)
237 242 t := team.(*models.TeamModel).Team
238 243 h1, ok := role.Heros[t.HeroId1]
239 244 if ok {
240 245 level, exp = h1.(*models.HeroModel).UpLevel(amount)
241 246 h1.SetProperty("level", level)
242 247 h1.SetProperty("exp", exp)
243   - heros = append(heros, h1.(*models.HeroModel).Hero)
  248 + heros[0] = h1.(*models.HeroModel).Hero
244 249 }
245 250  
246 251 h2, ok := role.Heros[t.HeroId2]
... ... @@ -248,7 +253,7 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i
248 253 level, exp = h2.(*models.HeroModel).UpLevel(amount)
249 254 h2.SetProperty("level", level)
250 255 h2.SetProperty("exp", exp)
251   - heros = append(heros, h2.(*models.HeroModel).Hero)
  256 + heros[1] = h2.(*models.HeroModel).Hero
252 257 }
253 258  
254 259 h3, ok := role.Heros[t.HeroId3]
... ... @@ -256,16 +261,12 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i
256 261 level, exp = h3.(*models.HeroModel).UpLevel(amount)
257 262 h3.SetProperty("level", level)
258 263 h3.SetProperty("exp", exp)
259   - heros = append(heros, h3.(*models.HeroModel).Hero)
  264 + heros[2] = h3.(*models.HeroModel).Hero
260 265 }
261 266  
262   - rsp := &pb.RoleEndBattleRsp{
263   - RoleLevel: level,
264   - RoleExp: exp,
265   - RoleExpamount: amount,
266   - Pass: req.Pass,
267   - Reward: common.MapNumToString(reward),
268   - Hero: heros,
269   - }
  267 + rsp.RoleExpamount = amount
  268 + rsp.Pass = req.Pass
  269 + rsp.Reward = common.MapNumToString(reward)
  270 + rsp.Hero = heros
270 271 return 0, rsp
271 272 }
... ...
cmd/test/action/TestAction.go
... ... @@ -34,6 +34,9 @@ func RoleUpdatePropertyRsp(role *models.RoleTestModel, msg components.IMessage)
34 34 func RoleUpdateItemsRsp(role *models.RoleTestModel, msg components.IMessage) {
35 35 }
36 36  
  37 +func RoleUpdateChangeRsp(role *models.RoleTestModel, msg components.IMessage) {
  38 +}
  39 +
37 40 func RoleClearItemsRsp(role *models.RoleTestModel, msg components.IMessage) {
38 41 }
39 42  
... ... @@ -46,6 +49,7 @@ func RoleEndBattleRsp(role *models.RoleTestModel, msg components.IMessage) {
46 49 logger.Error("rsp err: %v", err)
47 50 return
48 51 }
  52 + logger.Debug(rsp.Reward)
49 53 }
50 54  
51 55 func EquipmentDelRsp(role *models.RoleTestModel, msg components.IMessage) {
... ...
cmd/test/main.go
... ... @@ -12,12 +12,13 @@ func main() {
12 12 return
13 13 }
14 14  
15   - tc.Login("1")
  15 + tc.Login("90007")
16 16  
17 17 pp := &pb.RoleEndBattleReq{
18 18 ChapterId: 1,
19 19 CarbonId: 1,
20 20 Pass: true,
  21 + TeamId: "10000011000002",
21 22 }
22 23  
23 24 time.Sleep(2 * time.Second)
... ...
conf/conf.yml
... ... @@ -64,6 +64,11 @@ logconf:
64 64 maxdays: -1
65 65 append: true
66 66 permit: "0660"
  67 +
  68 +test_client:
  69 + ip: "192.168.0.100"
  70 + port: 8849
  71 + count: 1
67 72 # Conn:
68 73 # net: "tcp"
69 74 # addr: "127.0.0.1"
... ...
models/RoleLog.go 0 → 100644
... ... @@ -0,0 +1 @@
  1 +package models
... ...
models/role.go
... ... @@ -24,7 +24,7 @@ type RoleModel struct {
24 24 }
25 25  
26 26 func RoleExistByUid(uid string) *RoleModel {
27   - data := &pb.Role{Uid: uid, Incres: make(map[string]uint32), PassChapters: make(map[int32]int32)}
  27 + data := &pb.Role{Uid: uid, Incres: make(map[string]uint32), Passchapters: make(map[int32]int32)}
28 28  
29 29 if err := mongoproxy.FindOne(mongoproxy.GetCollName(data), mongoproxy.GetBsonM("uid", uid), data); err != nil {
30 30 logger.Error("Role not exist err: %v", err)
... ... @@ -46,7 +46,7 @@ func RoleExistByUid(uid string) *RoleModel {
46 46 }
47 47  
48 48 func NewRole(id string) *RoleModel {
49   - data := &pb.Role{Id: id, Incres: make(map[string]uint32), PassChapters: make(map[int32]int32)}
  49 + data := &pb.Role{Id: id, Incres: make(map[string]uint32), Passchapters: make(map[int32]int32)}
50 50 m := &RoleModel{
51 51 ISchema: NewSchema(id, data),
52 52 Role: data,
... ...
models/role_test.go
... ... @@ -126,3 +126,10 @@ func TestRoleModel_IncreByKey(t *testing.T) {
126 126 fmt.Println(ites)
127 127  
128 128 }
  129 +
  130 +func TestSchema_Create(t *testing.T) {
  131 + _ = mongoproxy.ConnectMongo(common.GlobalConf.GameConf.MongoConf, common.GlobalConf.GameConf.ID)
  132 + role := NewRole("")
  133 + s := role.ISchema.(*Schema)
  134 + logger.Debug(s.protoIndex)
  135 +}
... ...
pb/models.pb.go
... ... @@ -493,7 +493,7 @@ type Role struct {
493 493 Otherlimit uint32 `protobuf:"varint,18,opt,name=otherlimit,proto3" json:"otherlimit,omitempty"`
494 494 Jewelrylimit uint32 `protobuf:"varint,19,opt,name=jewelrylimit,proto3" json:"jewelrylimit,omitempty"`
495 495 Materiallimit uint32 `protobuf:"varint,20,opt,name=materiallimit,proto3" json:"materiallimit,omitempty"`
496   - PassChapters map[int32]int32 `protobuf:"bytes,21,rep,name=pass_chapters,json=passChapters,proto3" json:"pass_chapters,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 通关记录
  496 + Passchapters map[int32]int32 `protobuf:"bytes,21,rep,name=passchapters,proto3" json:"passchapters,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 通关记录
497 497 }
498 498  
499 499 func (x *Role) Reset() {
... ... @@ -654,9 +654,9 @@ func (x *Role) GetMateriallimit() uint32 {
654 654 return 0
655 655 }
656 656  
657   -func (x *Role) GetPassChapters() map[int32]int32 {
  657 +func (x *Role) GetPasschapters() map[int32]int32 {
658 658 if x != nil {
659   - return x.PassChapters
  659 + return x.Passchapters
660 660 }
661 661 return nil
662 662 }
... ... @@ -708,7 +708,7 @@ var file_models_proto_rawDesc = []byte{
708 708 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x33, 0x22, 0x2f, 0x0a, 0x09, 0x49, 0x6e, 0x63, 0x72,
709 709 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
710 710 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02,
711   - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x9a, 0x05, 0x0a, 0x04, 0x52, 0x6f,
  711 + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x05, 0x0a, 0x04, 0x52, 0x6f,
712 712 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
713 713 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
714 714 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03,
... ... @@ -738,20 +738,20 @@ var file_models_proto_rawDesc = []byte{
738 738 0x0d, 0x52, 0x0c, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72, 0x79, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12,
739 739 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x69, 0x74,
740 740 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c,
741   - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x68,
742   - 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d,
743   - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x43,
744   - 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x70, 0x61,
745   - 0x73, 0x73, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x49, 0x6e,
746   - 0x63, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
747   - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
748   - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
749   - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x50, 0x61, 0x73, 0x73, 0x43, 0x68, 0x61,
750   - 0x70, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
751   - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
752   - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c,
753   - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b,
754   - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  741 + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73, 0x63, 0x68, 0x61,
  742 + 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f,
  743 + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x63, 0x68,
  744 + 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x70, 0x61, 0x73,
  745 + 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x49, 0x6e, 0x63,
  746 + 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
  747 + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
  748 + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  749 + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x50, 0x61, 0x73, 0x73, 0x63, 0x68, 0x61, 0x70,
  750 + 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
  751 + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
  752 + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  753 + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70,
  754 + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
755 755 }
756 756  
757 757 var (
... ... @@ -776,11 +776,11 @@ var file_models_proto_goTypes = []interface{}{
776 776 (*Increment)(nil), // 5: models.Increment
777 777 (*Role)(nil), // 6: models.Role
778 778 nil, // 7: models.Role.IncresEntry
779   - nil, // 8: models.Role.PassChaptersEntry
  779 + nil, // 8: models.Role.PasschaptersEntry
780 780 }
781 781 var file_models_proto_depIdxs = []int32{
782 782 7, // 0: models.Role.incres:type_name -> models.Role.IncresEntry
783   - 8, // 1: models.Role.pass_chapters:type_name -> models.Role.PassChaptersEntry
  783 + 8, // 1: models.Role.passchapters:type_name -> models.Role.PasschaptersEntry
784 784 2, // [2:2] is the sub-list for method output_type
785 785 2, // [2:2] is the sub-list for method input_type
786 786 2, // [2:2] is the sub-list for extension type_name
... ...