diff --git a/game-server/app/servers/guild/handler/guildHandler.ts b/game-server/app/servers/guild/handler/guildHandler.ts index 0da770b5e..40a353504 100644 --- a/game-server/app/servers/guild/handler/guildHandler.ts +++ b/game-server/app/servers/guild/handler/guildHandler.ts @@ -121,9 +121,16 @@ export class GuildHandler { const roleId = session.get('roleId'); const roleName = session.get('roleName'); + const serverId = session.get('serverId'); const { code, name, notice, introduce, ceLimit, isAuto, icon } = msg; if (!code) return resResult(STATUS.WRONG_PARMS); + // 检查名字是否重 + if(name != undefined) { + const checkNameResult = await GuildModel.checkName(name, serverId); + if (checkNameResult) return resResult(STATUS.GUILD_NAME_DUP); + } + const select = ['code', 'name', 'notice', 'introduce', 'ceLimit', 'isAuto', 'icon']; let updateInfo: GuildUpdateParam = {}; if(name != undefined) updateInfo.name = name; diff --git a/shared/db/Guild.ts b/shared/db/Guild.ts index 240ddf6d9..7caad6171 100644 --- a/shared/db/Guild.ts +++ b/shared/db/Guild.ts @@ -116,8 +116,8 @@ export default class Guild extends BaseModel { } public static async checkName(name: string, serverId: number) { - const result: GuildType = await GuildModel.findOne({ name, status: GUILD_STATUS.RUNNING, serverId }).lean(); - return !!result; + const result = await GuildModel.exists({ name, status: GUILD_STATUS.RUNNING, serverId }); + return result; } public static async findByCondition(page: number, showPeopleMax: boolean, name: string, serverId: number) {