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 {