save
This commit is contained in:
parent
feba3f571d
commit
4af6594e8b
@ -134,4 +134,5 @@ const (
|
|||||||
ERR_CODE_GUILD_SETMEMBERLEVEL_VICE_LEADER_MAX_LIMIT = 12019
|
ERR_CODE_GUILD_SETMEMBERLEVEL_VICE_LEADER_MAX_LIMIT = 12019
|
||||||
ERR_CODE_GUILD_SETNAME_DUPLICATE_NAMES = 12020
|
ERR_CODE_GUILD_SETNAME_DUPLICATE_NAMES = 12020
|
||||||
ERR_CODE_GUILD_SETNAME_API_ERROR = 12021
|
ERR_CODE_GUILD_SETNAME_API_ERROR = 12021
|
||||||
|
ERR_CODE_GUILD_NAME_TOO_LONG = 12022
|
||||||
)
|
)
|
||||||
|
@ -57,19 +57,32 @@ func (gm *GuildMgr) loadFromDB() {
|
|||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (gm *GuildMgr) IsTooLongGuildName(name string) bool {
|
||||||
|
return len(name) > 15
|
||||||
|
}
|
||||||
|
|
||||||
// CreateGuild 创建公会
|
// CreateGuild 创建公会
|
||||||
func (gm *GuildMgr) CreateGuild(p *Player, avatar int32, name *string, leaderId string,
|
func (gm *GuildMgr) CreateGuild(p *Player, avatar int32, guildName string, leaderId string,
|
||||||
cb func(errCode int32, errMsg string, guild *Guild)) {
|
cb func(errCode int32, errMsg string, guild *Guild)) {
|
||||||
|
|
||||||
|
if len(guildName) <= 0 {
|
||||||
|
cb(ERR_CODE_REQUEST_PARAMS_ERROR, "params is null", nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if gm.IsTooLongGuildName(guildName) {
|
||||||
|
cb(ERR_CODE_GUILD_NAME_TOO_LONG, "Guild name is too long (max length: 15)", nil)
|
||||||
|
}
|
||||||
if gm.CheckJoinGuild(leaderId) {
|
if gm.CheckJoinGuild(leaderId) {
|
||||||
cb(ERR_CODE_JOINED_GUILD, "Joined guild", nil)
|
cb(ERR_CODE_JOINED_GUILD, "Joined guild", nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
guildId := f5.GetApp().NewUuid()
|
guildId := f5.GetApp().NewUuid()
|
||||||
if gm.ExistsGuild(guildId) {
|
if gm.ExistsGuild(guildId) {
|
||||||
cb(ERR_CODE_CREATE_GUILD_FAIL, "create error ", nil)
|
cb(ERR_CODE_CREATE_GUILD_FAIL, "create error ", nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !gm.CheckGuildNameUnique(name) {
|
if !gm.CheckGuildNameUnique(guildName) {
|
||||||
cb(ERR_CODE_CREATE_GUILD_FAIL, "Duplicate guild names", nil)
|
cb(ERR_CODE_CREATE_GUILD_FAIL, "Duplicate guild names", nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -86,17 +99,17 @@ func (gm *GuildMgr) CreateGuild(p *Player, avatar int32, name *string, leaderId
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Bag.createGuildConsume 道具使用成功,继续创建公会
|
// Bag.createGuildConsume 道具使用成功,继续创建公会
|
||||||
gm.createGuildInternal(guildId, avatar, name, leaderId, cb)
|
gm.createGuildInternal(guildId, avatar, guildName, leaderId, cb)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gm *GuildMgr) createGuildInternal(guildId int64, avatar int32, name *string, leaderId string,
|
func (gm *GuildMgr) createGuildInternal(guildId int64, avatar int32, name string, leaderId string,
|
||||||
cb func(errCode int32, errMsg string, guild *Guild)) {
|
cb func(errCode int32, errMsg string, guild *Guild)) {
|
||||||
|
|
||||||
unixSec := time.Now().Unix()
|
unixSec := time.Now().Unix()
|
||||||
fields := [][]string{
|
fields := [][]string{
|
||||||
{"guild_id", q5.ToString(guildId)},
|
{"guild_id", q5.ToString(guildId)},
|
||||||
{"name", *name},
|
{"name", name},
|
||||||
{"leader_account_id", leaderId},
|
{"leader_account_id", leaderId},
|
||||||
{"avatar", q5.ToString(avatar)},
|
{"avatar", q5.ToString(avatar)},
|
||||||
{"max_members", q5.ToString(MaxMembers)},
|
{"max_members", q5.ToString(MaxMembers)},
|
||||||
@ -126,7 +139,7 @@ func (gm *GuildMgr) createGuildInternal(guildId int64, avatar int32, name *strin
|
|||||||
guild := &Guild{
|
guild := &Guild{
|
||||||
AutoId: lastInsertId,
|
AutoId: lastInsertId,
|
||||||
GuildId: guildId,
|
GuildId: guildId,
|
||||||
Name: *name,
|
Name: name,
|
||||||
LeaderId: leaderId,
|
LeaderId: leaderId,
|
||||||
Avatar: avatar,
|
Avatar: avatar,
|
||||||
Notice: "",
|
Notice: "",
|
||||||
@ -147,7 +160,7 @@ func (gm *GuildMgr) createGuildInternal(guildId int64, avatar int32, name *strin
|
|||||||
prop := make(map[string]string)
|
prop := make(map[string]string)
|
||||||
prop["auto_id"] = q5.ToString(lastInsertId)
|
prop["auto_id"] = q5.ToString(lastInsertId)
|
||||||
prop["guild_id"] = q5.ToString(guildId)
|
prop["guild_id"] = q5.ToString(guildId)
|
||||||
prop["guild_name"] = *name
|
prop["guild_name"] = name
|
||||||
prop["avatar"] = q5.ToString(avatar)
|
prop["avatar"] = q5.ToString(avatar)
|
||||||
f5.GetTgLog().AddTrackLog(
|
f5.GetTgLog().AddTrackLog(
|
||||||
GAME_ID,
|
GAME_ID,
|
||||||
@ -695,9 +708,9 @@ func (gm *GuildMgr) CheckGuildAndPermission(operatorAccountId string) (*Guild, b
|
|||||||
return guild, true
|
return guild, true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gm *GuildMgr) CheckGuildNameUnique(newName *string) bool {
|
func (gm *GuildMgr) CheckGuildNameUnique(newName string) bool {
|
||||||
for _, g := range gm.guilds {
|
for _, g := range gm.guilds {
|
||||||
if g.Name == *newName {
|
if g.Name == newName {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -725,17 +738,20 @@ func (gm *GuildMgr) SetAvatar(operatorAccountId string, avatar int32, cb func(er
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gm *GuildMgr) SetName(player *Player, name *string, itemId, itemNum int32, cb func(errCode int32, errMsg string)) {
|
func (gm *GuildMgr) SetName(player *Player, name string, itemId, itemNum int32, cb func(errCode int32, errMsg string)) {
|
||||||
guild, ok := gm.CheckGuildAndPermission(player.GetAccountId())
|
guild, ok := gm.CheckGuildAndPermission(player.GetAccountId())
|
||||||
if !ok || name == nil {
|
|
||||||
|
if !ok || len(name) <= 0 {
|
||||||
cb(ERR_CODE_REQUEST_PARAMS_ERROR, "params is null")
|
cb(ERR_CODE_REQUEST_PARAMS_ERROR, "params is null")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if gm.IsTooLongGuildName(name) {
|
||||||
|
cb(ERR_CODE_GUILD_NAME_TOO_LONG, "Guild name is too long (max length: 15)")
|
||||||
|
}
|
||||||
if !gm.CheckGuildNameUnique(name) {
|
if !gm.CheckGuildNameUnique(name) {
|
||||||
cb(ERR_CODE_GUILD_SETNAME_DUPLICATE_NAMES, "Duplicate guild names")
|
cb(ERR_CODE_GUILD_SETNAME_DUPLICATE_NAMES, "Duplicate guild names")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 扣消耗
|
// 扣消耗
|
||||||
params := map[string]string{
|
params := map[string]string{
|
||||||
"c": "Bag",
|
"c": "Bag",
|
||||||
@ -751,7 +767,7 @@ func (gm *GuildMgr) SetName(player *Player, name *string, itemId, itemNum int32,
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
updateFields := [][]string{
|
updateFields := [][]string{
|
||||||
{"name", *name},
|
{"name", name},
|
||||||
}
|
}
|
||||||
|
|
||||||
gm.updateGuild(guild, updateFields, func(err error) {
|
gm.updateGuild(guild, updateFields, func(err error) {
|
||||||
@ -765,7 +781,7 @@ func (gm *GuildMgr) SetName(player *Player, name *string, itemId, itemNum int32,
|
|||||||
"guild_id": q5.ToString(guild.GuildId),
|
"guild_id": q5.ToString(guild.GuildId),
|
||||||
"accountId": q5.ToString(player.GetAccountId()),
|
"accountId": q5.ToString(player.GetAccountId()),
|
||||||
"before_guild_name": guild.Name,
|
"before_guild_name": guild.Name,
|
||||||
"after_guild_name": *name,
|
"after_guild_name": name,
|
||||||
}
|
}
|
||||||
f5.GetTgLog().AddTrackLog(
|
f5.GetTgLog().AddTrackLog(
|
||||||
GAME_ID,
|
GAME_ID,
|
||||||
@ -775,7 +791,7 @@ func (gm *GuildMgr) SetName(player *Player, name *string, itemId, itemNum int32,
|
|||||||
prop,
|
prop,
|
||||||
)
|
)
|
||||||
|
|
||||||
guild.Name = *name
|
guild.Name = name
|
||||||
cb(ERR_CODE_OK, "SetName OK")
|
cb(ERR_CODE_OK, "SetName OK")
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -375,7 +375,7 @@ func (p *Player) CMGetTopGuildsByTotalStars(hdr *f5.MsgHdr, msg *cs.CMGetTopGuil
|
|||||||
func (p *Player) CMCreateGuild(hdr *f5.MsgHdr, msg *cs.CMCreateGuild) {
|
func (p *Player) CMCreateGuild(hdr *f5.MsgHdr, msg *cs.CMCreateGuild) {
|
||||||
avatar := msg.GetAvatar()
|
avatar := msg.GetAvatar()
|
||||||
guildMgr.CreateGuild(
|
guildMgr.CreateGuild(
|
||||||
p, avatar, msg.Name, p.accountId,
|
p, avatar, msg.GetName(), p.accountId,
|
||||||
func(errCode int32, errMsg string, guild *Guild) {
|
func(errCode int32, errMsg string, guild *Guild) {
|
||||||
rspMsg := new(cs.SMCreateGuild)
|
rspMsg := new(cs.SMCreateGuild)
|
||||||
if errCode != 0 {
|
if errCode != 0 {
|
||||||
@ -650,7 +650,7 @@ func (p *Player) CMSetAvatar(hdr *f5.MsgHdr, msg *cs.CMSetAvatar) {
|
|||||||
func (p *Player) CMSetName(hdr *f5.MsgHdr, msg *cs.CMSetName) {
|
func (p *Player) CMSetName(hdr *f5.MsgHdr, msg *cs.CMSetName) {
|
||||||
guildMgr.SetName(
|
guildMgr.SetName(
|
||||||
p,
|
p,
|
||||||
msg.Name,
|
msg.GetName(),
|
||||||
msg.GetItemId(),
|
msg.GetItemId(),
|
||||||
msg.GetItemNum(),
|
msg.GetItemNum(),
|
||||||
func(errCode int32, errMsg string) {
|
func(errCode int32, errMsg string) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user