创建公会消耗道具 Bag.createGuildConsume
This commit is contained in:
parent
083cf00b02
commit
feba3f571d
@ -58,7 +58,7 @@ func (gm *GuildMgr) loadFromDB() {
|
||||
}
|
||||
|
||||
// CreateGuild 创建公会
|
||||
func (gm *GuildMgr) CreateGuild(avatar int32, name *string, leaderId string,
|
||||
func (gm *GuildMgr) CreateGuild(p *Player, avatar int32, name *string, leaderId string,
|
||||
cb func(errCode int32, errMsg string, guild *Guild)) {
|
||||
if gm.CheckJoinGuild(leaderId) {
|
||||
cb(ERR_CODE_JOINED_GUILD, "Joined guild", nil)
|
||||
@ -74,6 +74,25 @@ func (gm *GuildMgr) CreateGuild(avatar int32, name *string, leaderId string,
|
||||
return
|
||||
}
|
||||
|
||||
params := map[string]string{
|
||||
"c": "Bag",
|
||||
"a": "createGuildConsume",
|
||||
"account_id": p.GetAccountId(),
|
||||
"session_id": p.GetSessionId(),
|
||||
}
|
||||
gm.SendRequest(params, func(errCode int32, errMsg string) {
|
||||
if errCode != 0 {
|
||||
cb(ERR_CODE_CREATE_GUILD_DB_FAIL, "create guild consume error ", nil)
|
||||
return
|
||||
}
|
||||
// Bag.createGuildConsume 道具使用成功,继续创建公会
|
||||
gm.createGuildInternal(guildId, avatar, name, leaderId, cb)
|
||||
})
|
||||
}
|
||||
|
||||
func (gm *GuildMgr) createGuildInternal(guildId int64, avatar int32, name *string, leaderId string,
|
||||
cb func(errCode int32, errMsg string, guild *Guild)) {
|
||||
|
||||
unixSec := time.Now().Unix()
|
||||
fields := [][]string{
|
||||
{"guild_id", q5.ToString(guildId)},
|
||||
@ -84,6 +103,7 @@ func (gm *GuildMgr) CreateGuild(avatar int32, name *string, leaderId string,
|
||||
{"createtime", q5.ToString(unixSec)},
|
||||
{"modifytime", q5.ToString(unixSec)},
|
||||
}
|
||||
|
||||
f5.GetJsStyleDb().Insert(
|
||||
FRIEND_DB,
|
||||
"t_guild",
|
||||
@ -136,6 +156,7 @@ func (gm *GuildMgr) CreateGuild(avatar int32, name *string, leaderId string,
|
||||
EVENT_GUILD_CREATE,
|
||||
prop,
|
||||
)
|
||||
|
||||
cb(ERR_CODE_OK, "Create OK", guild)
|
||||
})
|
||||
})
|
||||
@ -716,7 +737,15 @@ func (gm *GuildMgr) SetName(player *Player, name *string, itemId, itemNum int32,
|
||||
}
|
||||
|
||||
// 扣消耗
|
||||
gm.SetNameConsume(player, itemId, itemNum, func(errCode int32, errMsg string) {
|
||||
params := map[string]string{
|
||||
"c": "Bag",
|
||||
"a": "useItem",
|
||||
"account_id": player.GetAccountId(),
|
||||
"session_id": player.GetSessionId(),
|
||||
"item_id": q5.ToString(itemId),
|
||||
"item_num": q5.ToString(itemNum),
|
||||
}
|
||||
gm.SendRequest(params, func(errCode int32, errMsg string) {
|
||||
if errCode != 0 {
|
||||
cb(errCode, errMsg)
|
||||
return
|
||||
@ -752,17 +781,9 @@ func (gm *GuildMgr) SetName(player *Player, name *string, itemId, itemNum int32,
|
||||
})
|
||||
}
|
||||
|
||||
func (gm *GuildMgr) SetNameConsume(player *Player, itemId, itemNum int32, cb func(errCode int32, errMsg string)) {
|
||||
params := map[string]string{
|
||||
"c": "Bag",
|
||||
"a": "useItem",
|
||||
"account_id": player.GetAccountId(),
|
||||
"session_id": player.GetSessionId(),
|
||||
"item_id": q5.ToString(itemId),
|
||||
"item_num": q5.ToString(itemNum),
|
||||
}
|
||||
url := fmt.Sprintf("%s/webapp/index.php", mt.Table.Config.GetById(0).GetGameapiUrl())
|
||||
f5.GetSysLog().Info("SetNameConsume url:%s, params:%+v\n", url, params)
|
||||
func (gm *GuildMgr) SendRequest(params map[string]string, cb func(errCode int32, errMsg string)) {
|
||||
url := mt.Table.Config.GetById(0).GetGameapiUrl() + "/webapp/index.php"
|
||||
f5.GetSysLog().Info("UseItem url:%s, params:%+v\n", url, params)
|
||||
f5.GetHttpCliMgr().SendJsStyleRequest(
|
||||
url,
|
||||
params,
|
||||
@ -773,8 +794,8 @@ func (gm *GuildMgr) SetNameConsume(player *Player, itemId, itemNum int32, cb fun
|
||||
}{}
|
||||
err := json.Unmarshal([]byte(rsp.GetRawData()), &resObj)
|
||||
if err != nil {
|
||||
cb(ERR_CODE_GUILD_SETNAME_API_ERROR, "SetNameConsume Api服务器JSON解析错误")
|
||||
f5.GetSysLog().Info("SetNameConsume Api服务器JSON解析错误:%s\n", err)
|
||||
cb(ERR_CODE_GUILD_SETNAME_API_ERROR, "SendRequest Api服务器JSON解析错误")
|
||||
f5.GetSysLog().Info("SendRequest Api服务器JSON解析错误:%s\n", err)
|
||||
return
|
||||
}
|
||||
cb(resObj.ErrCode, resObj.ErrMsg)
|
||||
|
@ -374,7 +374,8 @@ func (p *Player) CMGetTopGuildsByTotalStars(hdr *f5.MsgHdr, msg *cs.CMGetTopGuil
|
||||
// CMCreateGuild 创建公会
|
||||
func (p *Player) CMCreateGuild(hdr *f5.MsgHdr, msg *cs.CMCreateGuild) {
|
||||
avatar := msg.GetAvatar()
|
||||
guildMgr.CreateGuild(avatar, msg.Name, p.accountId,
|
||||
guildMgr.CreateGuild(
|
||||
p, avatar, msg.Name, p.accountId,
|
||||
func(errCode int32, errMsg string, guild *Guild) {
|
||||
rspMsg := new(cs.SMCreateGuild)
|
||||
if errCode != 0 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user