diff --git a/game-server/app/servers/role/handler/friendHandler.ts b/game-server/app/servers/role/handler/friendHandler.ts index 993ead981..e26fe67e7 100644 --- a/game-server/app/servers/role/handler/friendHandler.ts +++ b/game-server/app/servers/role/handler/friendHandler.ts @@ -1,7 +1,7 @@ import { Application, BackendSession, ChannelService, HandlerService, } from "pinus"; 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, REDIS_KEY, MSG_SOURCE, MSG_TYPE, TASK_TYPE, ROBOT_SYS_TYPE, ITEM_CHANGE_REASON, PUSH_ROUTE } from "../../../consts"; -import Role, { RoleType } from "../../../db/Role"; +import Role, { RoleModel, RoleType } from "../../../db/Role"; import { getTimeFun, getZeroPointD } from "../../../pubUtils/timeUtil"; import { FriendApplyModel } from "../../../db/FriendApply"; import { FriendListParam, FriendRecommendParams, BlackListParam, FriendValueListParam, HeroDetailParam } from "../../../domain/roleField/friend"; @@ -52,12 +52,13 @@ export class FriendHandler { const { lv, serverId: myServerId } = await Role.findByRoleId(roleId, ROLE_SELECT.GET_MY_SERVER); let nums = parseNumberList(FRIEND.FRIEND_RECONMMEND_LEVEL); - let max = Math.max(...nums); - let allList = await Role.getRecommedList(lv - max, lv + max, day); + // let max = Math.max(...nums); + let recommendList = await RoleModel.find({ loginTime: { $gt: day }, hasInit: true }).limit(200).lean({ getters: true, virtuals: true }) + let allList: RoleType[] = [] let sortedNum = nums.sort((a, b) => a - b); for(let num of sortedNum) { - allList = allList.filter(cur => cur.lv >= lv - num && cur.lv <= lv + num); - if(allList.length > 0) break; + allList = recommendList.filter(cur => { return cur.lv >= lv - num && cur.lv <= lv + num }); + if(allList.length > FRIEND.FRIEND_RECONMMEND_NUM) break; } // 筛掉自己今天申请过的人