diff --git a/game-server/app/servers/battle/handler/guildHandler.ts b/game-server/app/servers/battle/handler/guildHandler.ts index f9afc5d40..0d5b56e22 100644 --- a/game-server/app/servers/battle/handler/guildHandler.ts +++ b/game-server/app/servers/battle/handler/guildHandler.ts @@ -314,7 +314,7 @@ export class GuildHandler { // 添加动态 const rec = await GuildRecModel.createGuildRec(roleId, code, GUILD_REC_TYPE.JOIN_GUILD, [roleName]); // 更新人数增加 - this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { memberCnt: joinResult.memberCnt }); + this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { memberCnt: joinResult.memberCnt, guildCe: joinResult.guildCe }); this.app.rpc.chat.guildRemote.addRec.toServer(CHAT_SERVER,rec); hasGuild = true; @@ -371,7 +371,7 @@ export class GuildHandler { if(joinResult.status == 0) continue; // 更新人数增加 - this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { memberCnt: joinResult.memberCnt }); + this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { memberCnt: joinResult.memberCnt, guildCe: joinResult.guildCe }); // 添加动态 const rec = await GuildRecModel.createGuildRec(roleId, code, GUILD_REC_TYPE.JOIN_GUILD, [joinResult.roleName]); this.app.rpc.chat.guildRemote.addRec.toServer(CHAT_SERVER,rec); @@ -496,7 +496,7 @@ export class GuildHandler { } // 更新人数增加 - this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { memberCnt: joinResult.memberCnt }); + this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { memberCnt: joinResult.memberCnt, guildCe: joinResult.guildCe }); // 添加动态 const rec = await GuildRecModel.createGuildRec(roleId, code, GUILD_REC_TYPE.JOIN_GUILD, [joinResult.roleName]); this.app.rpc.chat.guildRemote.addRec.toServer(CHAT_SERVER, rec); @@ -599,7 +599,7 @@ export class GuildHandler { const role = await RoleModel.quitGuild(roleId, nowSeconds()); if(!role) return resResult(STATUS.GUILD_QUIT_ERROR); - const guild = await GuildModel.quit(code, roleId, serverId); + const guild = await GuildModel.quit(code, roleId, serverId, role.ce, userGuild.auth == GUILD_AUTH.MANAGER); if(!guild) return resResult(STATUS.GUILD_QUIT_ERROR); // 添加动态 @@ -633,7 +633,7 @@ export class GuildHandler { const role = await RoleModel.quitGuild(memberRoleId, nowSeconds()); if(!role) return resResult(STATUS.GUILD_KICK_ERROR); - const guild = await GuildModel.quit(code, memberRoleId, serverId); + const guild = await GuildModel.quit(code, memberRoleId, serverId, role.ce, userGuild.auth == GUILD_AUTH.MANAGER); if(!guild) return resResult(STATUS.GUILD_KICK_ERROR); this.app.rpc.chat.guildRemote.memberQuit.toServer(CHAT_SERVER,code, roleId, guild); diff --git a/game-server/app/servers/chat/remote/guildRemote.ts b/game-server/app/servers/chat/remote/guildRemote.ts index 779ab0bdb..d0c36749a 100644 --- a/game-server/app/servers/chat/remote/guildRemote.ts +++ b/game-server/app/servers/chat/remote/guildRemote.ts @@ -154,7 +154,7 @@ export class GuildRemote { roleId }, sid); // 更新人数减少 - this.updateInfo(guildCode, { memberCnt: guild.memberCnt }); + this.updateInfo(guildCode, { memberCnt: guild.memberCnt, guildCe: guild.guildCe }); this.leaveChannel(guildCode, roleId, sid); } diff --git a/game-server/app/services/guildService.ts b/game-server/app/services/guildService.ts index 2338316ff..bec299d0c 100644 --- a/game-server/app/services/guildService.ts +++ b/game-server/app/services/guildService.ts @@ -78,7 +78,7 @@ export async function joinGuild(code: string, guildName: string, lv: number, rol await UserGuildApplyModel.deleteApply(roleId); // 删除玩家所有对其他公会的申请 res.releaseCallback();//解锁 - return { status: 1, guild, userGuild, roleName: role.roleName, memberCnt: guild.memberCnt } + return { status: 1, guild, userGuild, roleName: role.roleName, memberCnt: guild.memberCnt, guildCe: guild.guildCe } } /** diff --git a/shared/db/Guild.ts b/shared/db/Guild.ts index e55cda411..9d861a386 100644 --- a/shared/db/Guild.ts +++ b/shared/db/Guild.ts @@ -165,8 +165,8 @@ export default class Guild extends BaseModel { return result; } - public static async quit(code: string, roleId: string, serverId: number) { - const result: GuildType = await GuildModel.findOneAndUpdate({ code, serverId }, { $inc: { memberCnt: -1}, $pull: { members: roleId }, isMemberMax: false }, { new: true }).lean(); + public static async quit(code: string, roleId: string, serverId: number, ce: number, isManage: boolean) { + const result: GuildType = await GuildModel.findOneAndUpdate({ code, serverId }, { $inc: { memberCnt: -1, guildCe: -ce, managerCnt: isManage?-1:0}, $pull: { members: roleId }, isMemberMax: false }, { new: true }).lean({ getters: true }); return result; }