diff --git a/game-server/app/servers/battle/handler/comBattleHandler.ts b/game-server/app/servers/battle/handler/comBattleHandler.ts index 9e65bb50d..19cd1d903 100644 --- a/game-server/app/servers/battle/handler/comBattleHandler.ts +++ b/game-server/app/servers/battle/handler/comBattleHandler.ts @@ -21,7 +21,7 @@ import { setAp } from '../../../services/actionPointService'; import { roleLevelup } from '../../../services/normalBattleService'; import { addUserToChannel } from '../../../services/roleService'; import { ChannelUser } from '../../../domain/ChannelUser'; -import { pushComBtlTeamMsg, pushNormalEquipMsg, pushTeamInviteMsg } from '../../../services/chatService'; +import { pushComBtlTeamMsg, pushFriendTeamInviteMsg, pushNormalEquipMsg, pushTeamInviteMsg } from '../../../services/chatService'; import { EXTERIOR } from '../../../pubUtils/dicParam'; export default function(app: Application) { @@ -680,6 +680,21 @@ export class ComBattleHandler { return resResult(STATUS.SUCCESS); } + /** + * @description 邀请队友 + * @param {{ teamCode: string, targetRoleId: string }} msg + * @param {BackendSession} session + * @memberof ComBattleHandler + */ + async inviteTeammate(msg: { teamCode: string, targetRoleId: string }, session: BackendSession) { + let roleId = session.get('roleId'); + let roleName = session.get('roleName'); + const { teamCode, targetRoleId } = msg; + const msgData = await pushFriendTeamInviteMsg(roleId, roleName, teamCode, targetRoleId); + if (!msgData) return resResult(STATUS.WRONG_PARMS); + return resResult(STATUS.SUCCESS); + } + /** * @description 藏宝图合成 * @param {{original: Array<{id: number, count: number}>}} msg diff --git a/game-server/app/services/chatService.ts b/game-server/app/services/chatService.ts index a6f07b3a9..2a7dc8614 100644 --- a/game-server/app/services/chatService.ts +++ b/game-server/app/services/chatService.ts @@ -321,6 +321,17 @@ export async function pushTeamInviteMsg(roleId: string, roleName: string, server return { msgDataWorld, msgDataGuild }; } +/** + * @description 发送组队私人邀请消息 + * @param {string} teamCode 队伍唯一标识 + */ + export async function pushFriendTeamInviteMsg(roleId: string, roleName: string, teamCode: string, targetRoleId) { + const msgData = await createPrivateMsg(roleId, roleName, MSG_TYPE.RICH_TEXT, MSG_SOURCE.TEAM_INVITE, teamCode, targetRoleId, null); + await pushMsgToRole(msgData); + return msgData; +} + + export async function createAccuseData(roleId: string, targetRoleId: string, targetMsgCode: string, reason: number) { const data: AccueseParam = { roleId, targetRoleId, targetMsgCode, reason