🐞 fix(好友): 推荐好友列表无数据

This commit is contained in:
luying
2023-05-10 15:31:41 +08:00
parent ced48726a4
commit 862ca1fbbc

View File

@@ -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;
}
// 筛掉自己今天申请过的人