This commit is contained in:
aozhiwei 2024-04-08 15:45:29 +08:00
parent 6ec9dfdf87
commit 479f77fef9
4 changed files with 19 additions and 7 deletions

View File

@ -143,8 +143,9 @@ DROP TABLE IF EXISTS `t_guild_member`;
CREATE TABLE `t_guild_member` (
`idx` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`guild_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '公会id',
`member_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '公会长',
`member_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '成员id',
`deleted` int(11) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`guild_job` int(11) NOT NULL DEFAULT '0' COMMENT '1:公会长 20:副会长 30:精英 40:普通成员',
`join_time` int(11) NOT NULL DEFAULT '0' COMMENT '加入时间',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',

View File

@ -46,6 +46,7 @@ func (this *guildMgr) loadGuild() {
"SELECT * FROM t_guild WHERE idx > %d AND deleted = 0",
func (ds *f5.DataSet) {
p := newGuild()
p.loadFromDb(ds)
this.idHash[p.guildId] = p
this.nameHash[p.guildName] = p
},
@ -65,12 +66,13 @@ func (this *guildMgr) loadGuildMember() {
"SELECT * FROM t_guild_member WHERE idx > %d AND deleted = 0",
func (ds *f5.DataSet) {
guildId := ds.GetByName("guild_id")
guildJob := q5.ToInt32(ds.GetByName("guild_job"))
memberId := ds.GetByName("member_id")
joinTime := q5.ToInt32(ds.GetByName("join_time"))
g := this.internalGetGuildByGuildId(guildId)
if g != nil {
p := newMember()
p.init(g, memberId, joinTime)
p.init(g, guildJob, memberId, joinTime)
g.addMember(p)
this.memberIdHash[memberId] = p
}
@ -214,11 +216,13 @@ func (this *guildMgr) asyncCreateGuildTask(task *f5.AsyncTask,
},
[][]string{
{"guild_id", guildId},
{"guild_job", q5.ToString(constant.GuildMemberLevelLeader)},
{"deleted", q5.ToString(0)},
{"join_time", q5.ToString(nowTime)},
},
[][]string{
{"guild_id", guildId},
{"guild_job", q5.ToString(constant.GuildMemberLevelLeader)},
{"member_id", accountId},
{"join_time", q5.ToString(nowTime)},
{"createtime", q5.ToString(nowTime)},
@ -233,7 +237,8 @@ func (this *guildMgr) asyncCreateGuildTask(task *f5.AsyncTask,
guild := newGuild()
{
p := newMember()
p.init(guild, accountId, int32(nowTime))
p.init(guild, constant.GuildMemberLevelLeader,
accountId, int32(nowTime))
this.memberIdHash[accountId] = p
}
this.idHash[guild.guildId] = guild
@ -244,7 +249,8 @@ func (this *guildMgr) asyncCreateGuildTask(task *f5.AsyncTask,
panic(fmt.Sprintf("asyncCreateGuildTask:%s", ""))
} else {
m := newMember()
m.init(guild, accountId, q5.ToInt32(nowTime))
m.init(guild, constant.GuildMemberLevelLeader,
accountId, q5.ToInt32(nowTime))
guild.addMember(m)
this.memberIdHash[accountId] = m
task.SetSucc()
@ -398,6 +404,7 @@ func (this *guildMgr) asyncAcceptApplyTask(task *f5.AsyncTask, guild *guild,
},
[][]string{
{"guild_id", guild.guildId},
{"guild_job", q5.ToString(constant.GuildMemberLevelDefault)},
{"deleted", q5.ToString(0)},
{"join_time", q5.ToString(nowTime)},
},
@ -408,7 +415,7 @@ func (this *guildMgr) asyncAcceptApplyTask(task *f5.AsyncTask, guild *guild,
return
}
m := newMember()
m.init(guild, targetId, nowTime)
m.init(guild, constant.GuildMemberLevelDefault, targetId, nowTime)
guild.addMember(m)
this.memberIdHash[targetId] = m
this.asyncSetApplyStatus(

View File

@ -5,12 +5,14 @@ import (
type member struct {
guild *guild
guildJob int32
memberId string
joinTime int32
}
func (this *member) init(guild *guild, memberId string, joinTime int32) {
func (this *member) init(guild *guild, guildJob int32, memberId string, joinTime int32) {
this.guild = guild
this.guildJob = guildJob
this.memberId = memberId
this.joinTime = joinTime
}

View File

@ -434,6 +434,8 @@ func (this *player) CMSetMemberLevel(hdr *f5.MsgHdr, msg *cs.CMSetMemberLevel) {
func (this *player) CMDisband(hdr *f5.MsgHdr, msg *cs.CMDisband) {
rspMsg := new(cs.SMDisband)
this.SendMsg(rspMsg)
/*
GetGuildMgr().AsyncDisband(
this.GetAccountId(),
func (errCode int32, errMsg string, members []string) {
@ -442,7 +444,7 @@ func (this *player) CMDisband(hdr *f5.MsgHdr, msg *cs.CMDisband) {
return
}
this.SendMsg(rspMsg)
})
})*/
}
func (this *player) CMSetNotice(hdr *f5.MsgHdr, msg *cs.CMSetNotice) {