diff --git a/game-server/app/servers/role/handler/friendHandler.ts b/game-server/app/servers/role/handler/friendHandler.ts index b75a71e54..f2b50ff13 100644 --- a/game-server/app/servers/role/handler/friendHandler.ts +++ b/game-server/app/servers/role/handler/friendHandler.ts @@ -1,5 +1,5 @@ import { Application, BackendSession, ChannelService, HandlerService, } from "pinus"; -import { resResult, getRandEelm, getResStr, shouldRefresh, sortArrRandom, checkRoleIsRobot, getRobotSysType, makeRobotId } from "../../../pubUtils/util"; +import { resResult, getRandEelm, getResStr, shouldRefresh, sortArrRandom, checkRoleIsRobot, getRobotSysType, makeRobotId, parseNumberList } from "../../../pubUtils/util"; import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, EQUIP_SELECT, REDIS_KEY, MSG_SOURCE, MSG_TYPE, TASK_TYPE, ROBOT_SYS_TYPE, ITEM_CHANGE_REASON } from "../../../consts"; import { RoleModel, RoleType } from "../../../db/Role"; import { getTimeFun, getZeroPointD } from "../../../pubUtils/timeUtil"; @@ -45,7 +45,13 @@ export class FriendHandler { const day = getTimeFun().getBeforeHour(FRIEND.FRIEND_RECONMMEND_ACTIVETIME); const { lv, serverId: myServerId, userInfo: { serverType: myServerType } } = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_MY_SERVER); - let allList = await RoleModel.getRecommedList(lv - FRIEND.FRIEND_RECONMMEND_LEVEL, lv + FRIEND.FRIEND_RECONMMEND_LEVEL, day); + let nums = parseNumberList(FRIEND.FRIEND_RECONMMEND_LEVEL); + nums = nums.sort((a, b) => b - a); + let allList = []; + for(let num of nums) { + allList = await RoleModel.getRecommedList(lv - num, lv + num, day); + if(allList.length > 0) break; + } // 筛掉自己今天申请过的人 let applyList = await FriendApplyModel.getSentApplyList(roleId, getZeroPointD()); diff --git a/shared/pubUtils/dicParam.ts b/shared/pubUtils/dicParam.ts index 387ec2d01..b484835a3 100644 --- a/shared/pubUtils/dicParam.ts +++ b/shared/pubUtils/dicParam.ts @@ -71,7 +71,7 @@ export const TREASURE = { export const FRIEND = { FRIEND_CLOSEPOINT_ADD: 5, // 每赠送/领取一次增加的亲密度 FRIEND_FRIENDPOINT_ADD: 1, // 每领取一次爱心会增加的情谊值 - FRIEND_RECONMMEND_LEVEL: 5, // 系统推荐玩家等级要求浮动 + FRIEND_RECONMMEND_LEVEL: '10&20&30&40&50', // 系统推荐玩家等级要求浮动 FRIEND_RECONMMEND_ACTIVETIME: 24, // 系统推荐玩家活跃时间要求(小时) FRIEND_BLACKLIST_MAX: 100, // 黑名单人数上限 FRIEND_MANAGE_APPLICATION: 50, // 好友显示收到的申请条数上限