diff --git a/game-server/app/services/chatService.ts b/game-server/app/services/chatService.ts index 055b20de8..c63dc7f15 100644 --- a/game-server/app/services/chatService.ts +++ b/game-server/app/services/chatService.ts @@ -14,8 +14,9 @@ import { AccuseRecModel, AccueseParam } from '../db/AccuseRec'; import { getSimpleRoleInfo, getSimpleRoleInfos } from './roleService'; import { sendMessageToAllWithSuc, sendMessageToCityWithSuc, sendMessageToGuildWithSuc, sendMessageToServerWithSuc, sendMessageToTeam, sendMessageToUserWithSuc } from './pushService'; import { RegionModel } from '../db/Region'; -import { getAllGroupOfServer, getGVGGroupIdOfServer, getGVGServersByGroupId } from './serverService'; +import { getAllGroupOfServer, getGVGGroupIdOfServer, getGVGServersByGroupId, getPvpServersByGroupId } from './serverService'; import { GVGLeagueModel } from '../db/GVGLeague'; +import { uniq } from 'underscore'; export * from './chatChannelService'; export * from './sysChatService'; @@ -164,7 +165,9 @@ export async function pushGroupMsgToRoom(msg: GroupMessageType) { await sendMessageToCityWithSuc(parseInt(arr[0]), parseInt(arr[1]), PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo }); } else if (msg.channel == CHANNEL_PREFIX.GVG) { let groupId = parseInt(msg.channelId); - let serverIds = await getGVGServersByGroupId(groupId); + let gvgServerIds = await getGVGServersByGroupId(groupId); + let pvpServerIds = await getPvpServersByGroupId(groupId); + let serverIds = uniq([...gvgServerIds, ...pvpServerIds]); for(let serverId of serverIds) { await sendMessageToServerWithSuc(serverId, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo }); } diff --git a/game-server/app/services/serverService.ts b/game-server/app/services/serverService.ts index cf1d7566e..ccf2afa15 100644 --- a/game-server/app/services/serverService.ts +++ b/game-server/app/services/serverService.ts @@ -84,8 +84,11 @@ export async function getServersByGroupId(groupId: number, fun: SERVER_GROUP_FUN let serverCreateTimes = await getAllServerCreateTime(); return arr.filter(obj => { - let openTime = parseInt(serverCreateTimes[obj[0]]); - return obj[1] == groupId && getServerTypeByTime(openTime) == GVG_SERVER_TYPE.MULTI; + if(fun == SERVER_GROUP_FUN_TYPE.GVG) { + let openTime = parseInt(serverCreateTimes[obj[0]]); + return obj[1] == groupId && getServerTypeByTime(openTime) == GVG_SERVER_TYPE.MULTI; + } + return true }).map(obj => obj[0]); }