From d9bea0444cec6b8c06b41f404245482a5337c6ed Mon Sep 17 00:00:00 2001 From: luying Date: Sat, 6 Feb 2021 11:15:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=BD=E5=8F=8B=EF=BC=9Alist=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=B1=BB=E5=9E=8B=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/role/handler/friendHandler.ts | 11 +++++++++++ shared/domain/roleField/friend.ts | 9 +++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/game-server/app/servers/role/handler/friendHandler.ts b/game-server/app/servers/role/handler/friendHandler.ts index db6752adc..8d6e626b2 100644 --- a/game-server/app/servers/role/handler/friendHandler.ts +++ b/game-server/app/servers/role/handler/friendHandler.ts @@ -152,16 +152,21 @@ export class FriendHandler { let roleId: string = session.get('roleId'); + let myFriendRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.NOT); let list = await FriendApplyModel.getApplyList(roleId); let result = new Array(); for(let apply of list) { let friend = apply.friend; + let type = getRecommendType(myFriendRelation, roleId, friend.roleId); + let param = new FriendApplyParams(apply.applyCode, friend); let { serverId, userInfo: { serverType }} = friend; let serverName = await getServerName(serverType, serverId); param.setServerName(serverId, serverName); + param.setType(type); + result.push(param); } return resResult(STATUS.SUCCESS, { @@ -217,6 +222,7 @@ export class FriendHandler { let serverName = await getServerName(serverType, serverId); param.setServerName(serverId, serverName); + param.setType(FRIEND_RELATION_TYPE.HAS_FRIEND); list.push(param); resultApplyCodeList.push(apply.applyCode); } @@ -261,6 +267,8 @@ export class FriendHandler { let isOnline = await isRoleOnline(friendRole.roleId); param.setOnline(isOnline); + + param.setType(FRIEND_RELATION_TYPE.HAS_FRIEND); list.push(param); } @@ -295,6 +303,8 @@ export class FriendHandler { let { serverId, userInfo: { serverType }} = friendRole; let serverName = await getServerName(serverType, serverId); param.setServerName(serverId, serverName); + + param.setType(FRIEND_RELATION_TYPE.HAS_BLOCKED); list.push(param); @@ -353,6 +363,7 @@ export class FriendHandler { let serverName = await getServerName(serverType, serverId); param.setServerName(serverId, serverName); + param.setType(FRIEND_RELATION_TYPE.HAS_BLOCKED); list.push(param); frdRoleIds.push(roleId); } else if (type == BLOCK_OPEATE.REMOVE_FRIEND) { // 仅移除 diff --git a/shared/domain/roleField/friend.ts b/shared/domain/roleField/friend.ts index 8150cbbe2..d3eec7f44 100644 --- a/shared/domain/roleField/friend.ts +++ b/shared/domain/roleField/friend.ts @@ -12,6 +12,7 @@ export class FriendParams { title: number; serverId: number; serverName: string; + type: number; constructor(role: RoleType) { this.roleId = role.roleId; @@ -27,12 +28,15 @@ export class FriendParams { this.serverId = serverId; this.serverName = serverName; } + + setType(type: number) { + this.type = type; + } } export class FriendRecommendParams extends FriendParams { friendCnt: number = 0; recFrdApplyCnt: number = 0; - type: number; constructor(role: RoleType) { super(role); @@ -40,9 +44,6 @@ export class FriendRecommendParams extends FriendParams { if(role.recFrdApplyCnt) this.recFrdApplyCnt = role.recFrdApplyCnt; } - setType(type: number) { - this.type = type; - } } export class FriendApplyParams extends FriendParams {