Blame view

cmd/gameserver/gmaction/GmAction.go 2.59 KB
4a502dd5   zhangqijia   fix: game,account...
1
  // GM系统API
97bec184   zhangqijia   fix: 账号系统只有一个数据库。
2
  package gmaction
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
3
4
  
  import (
e172952c   zhangqijia   feat: email 系统搭建
5
  	"pro2d/common/logger"
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
6
  	"pro2d/models"
d6d589a9   zhangqijia   feat: 增加装备接口
7
  	"pro2d/pb"
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
8
9
10
  	"strconv"
  )
  
4a502dd5   zhangqijia   fix: game,account...
11
12
13
14
  type GmAction struct{}
  
  // GMParams GM系统API请求参数的基础类型
  type GMParams map[string]string
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
15
  
4a502dd5   zhangqijia   fix: game,account...
16
17
18
19
20
21
  /*
  AddExp 增加经验
   exp 增加经验数量
  */
  func (gm *GmAction) AddExp(role *models.RoleModel, params GMParams) {
  	expIncrease, _ := strconv.Atoi(params["exp"])
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
22
23
  	exp := role.IncrProperty("exp", int64(expIncrease))
  	role.UpdateProperty("exp", exp, true)
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
24
  }
d6d589a9   zhangqijia   feat: 增加装备接口
25
  
4a502dd5   zhangqijia   fix: game,account...
26
27
28
29
30
  /*
  AddEquip 添加装备
   id: 装备id
  */
  func (gm *GmAction) AddEquip(role *models.RoleModel, params GMParams) {
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
31
  	//TODO 验证装备是否存在
02d11cb7   zhangqijia   fix: update 装备脱/戴
32
33
  	id := params["id"]
  	tbId, _ := strconv.Atoi(id)
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
34
  
d6d589a9   zhangqijia   feat: 增加装备接口
35
  	equip := &pb.Equipment{
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
36
  		Id:      role.IncreEquipByKey(1),
23822e2f   zhangqijia   fix: update proto...
37
  		RoleId:  role.Data.Id,
02d11cb7   zhangqijia   fix: update 装备脱/戴
38
  		TbId:    int32(tbId),
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
39
  		Quality: 1,
d6d589a9   zhangqijia   feat: 增加装备接口
40
  	}
77da2da8   zhangqijia   fix: add log
41
  	role.AddEquip(equip, &pb.LogConf{Desc: "gm_actioin"})
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
42
  }
4a502dd5   zhangqijia   fix: game,account...
43
44
45
46
47
48
49
50
51
  
  /*
  AddItem 添加物品
   id: 物品id
   count: 物品数量
  */
  func (gm *GmAction) AddItem(role *models.RoleModel, params GMParams) {
  	id := params["id"]
  	count, _ := strconv.Atoi(params["count"])
77da2da8   zhangqijia   fix: add log
52
  	role.AddItem(id, int32(count), &pb.LogConf{Desc: "gm_action"})
4a502dd5   zhangqijia   fix: game,account...
53
54
55
56
57
58
  }
  
  /*
  UpdatePackLimit 更新背包限制
  	clotheslimit: 服饰限制数
  	weaponslimit: 武器限制数
ddc88bac   zhangqijia   fix: 记录战斗
59
60
  	jewelrylimit: 首饰限制数
  	materiallimit: 材料限制数
4a502dd5   zhangqijia   fix: game,account...
61
62
63
  	otherlimit: 其他限制数
  */
  func (gm *GmAction) UpdatePackLimit(role *models.RoleModel, params GMParams) {
ddc88bac   zhangqijia   fix: 记录战斗
64
  	update := make(map[string]interface{}, 5)
4a502dd5   zhangqijia   fix: game,account...
65
66
  	c, ok := params["clotheslimit"]
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
67
68
  		l, _ := strconv.Atoi(c)
  		update["clotheslimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
69
  	}
ddc88bac   zhangqijia   fix: 记录战斗
70
  	w, ok := params["weaponslimit"]
4a502dd5   zhangqijia   fix: game,account...
71
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
72
73
  		l, _ := strconv.Atoi(w)
  		update["weaponslimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
74
  	}
ddc88bac   zhangqijia   fix: 记录战斗
75
  	o, ok := params["otherlimit"]
4a502dd5   zhangqijia   fix: game,account...
76
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
77
78
  		l, _ := strconv.Atoi(o)
  		update["otherlimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
79
  	}
ddc88bac   zhangqijia   fix: 记录战斗
80
81
82
83
84
85
86
87
88
89
90
91
92
  
  	o, ok = params["jewelrylimit"]
  	if ok {
  		l, _ := strconv.Atoi(o)
  		update["jewelrylimit"] = uint32(l)
  	}
  
  	o, ok = params["materiallimit"]
  	if ok {
  		l, _ := strconv.Atoi(o)
  		update["materiallimit"] = uint32(l)
  	}
  
4a502dd5   zhangqijia   fix: game,account...
93
94
  	role.UpdateProperties(update, true)
  }
e172952c   zhangqijia   feat: email 系统搭建
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
  
  /*GMEmail 发送邮件
  参数 &title= &stitle= &content= &attachments=
  */
  func (gm *GmAction) GMEmail(role *models.RoleModel, params GMParams) {
  	title, ok := params["title"]
  	if !ok {
  		title = ""
  	}
  	stitle, ok := params["stitle"]
  	if !ok {
  		stitle = ""
  	}
  	content, ok := params["content"]
  	if !ok {
  		content = ""
  	}
  	attachments, ok := params["attachments"]
  	if !ok {
  		attachments = ""
  	}
927b2652   zhangqijia   feat: EmailNewNty...
116
  
e172952c   zhangqijia   feat: email 系统搭建
117
  	email := &pb.Email{
e172952c   zhangqijia   feat: email 系统搭建
118
119
120
121
122
  		RoleId:      role.Data.Id,
  		Title:       title,
  		Stitle:      stitle,
  		Content:     content,
  		Attachments: attachments,
e172952c   zhangqijia   feat: email 系统搭建
123
  	}
927b2652   zhangqijia   feat: EmailNewNty...
124
  	err := role.InsertEmail(email)
e172952c   zhangqijia   feat: email 系统搭建
125
  	if err != nil {
927b2652   zhangqijia   feat: EmailNewNty...
126
127
  		logger.Error(err.Error())
  		return
e172952c   zhangqijia   feat: email 系统搭建
128
129
  	}
  }