From de612dc1baf1f659f0e88a81099926a773d6e566 Mon Sep 17 00:00:00 2001 From: dcl <1124373818@qq.com> Date: Wed, 22 Feb 2023 18:07:29 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(battle):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=AD=A6=E5=B0=86=E6=93=82=E5=8F=B0=E6=88=98=E6=8A=A5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/battle/handler/ladderHandler.ts | 6 ++---- shared/db/LadderMatchRec.ts | 7 +++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/game-server/app/servers/battle/handler/ladderHandler.ts b/game-server/app/servers/battle/handler/ladderHandler.ts index fc3c16f74..0f4930101 100644 --- a/game-server/app/servers/battle/handler/ladderHandler.ts +++ b/game-server/app/servers/battle/handler/ladderHandler.ts @@ -4,6 +4,7 @@ import { isArray, pick } from 'underscore'; import { gameData } from '../../../pubUtils/data'; import { STATUS } from '../../../consts/statusCode'; import { arrToMap, resResult } from '../../../pubUtils/util'; +import { getTimeFunM } from '../../../pubUtils/timeUtil'; import { LadderMatchModel, LadderUpdateInter } from '../../../db/LadderMatch'; import { battleEndWhenChange, checkRank, generateInitRecInfo, generateOppPlayers, getBuyCntCost, getLadderData, getLadderEnemies, getLadderOppDetailData, getLadderOppStatus, getNumberArr, ladderBattleEndReward, refreshLadderDaily, refreshLadderEnemies, sendLadderDailyReward, uniqueArr } from '../../../services/ladderService'; import { LadderDataReturn, LadderDefense, LadderDefenseHero, LadderOppDetailReturn, LadderOppLineupReturn, LadderOppPlayerHeroInfo, LadderOppPlayerReturn } from '../../../domain/battleField/ladder'; @@ -356,10 +357,7 @@ export class LadderHandler { // 12. 获取战报信息(2天内) async getRec(msg: {}, session: BackendSession) { let roleId = session.get('roleId'); - let endTime = new Date().getTime(); - const dayMs = 1000 * 60 * 60 * 24; - let startTime = endTime - dayMs * 2; - let list = await LadderMatchRecModel.findRecByTimeRange(roleId, startTime, endTime); + let list = await LadderMatchRecModel.findRecentRec(roleId, getTimeFunM().getBeforeDay(2)); return resResult(STATUS.SUCCESS, { list: list.map(rec => { const { roleId1, battleCode, hasRpl } = rec; diff --git a/shared/db/LadderMatchRec.ts b/shared/db/LadderMatchRec.ts index 97683b588..ef930887e 100644 --- a/shared/db/LadderMatchRec.ts +++ b/shared/db/LadderMatchRec.ts @@ -105,14 +105,13 @@ export default class LadderMatchRec extends BaseModel { * 按时间区间查询名将擂台战报(用战斗结束时间(endTime)做比较) * @static * @param {string} roleId - * @param {number} startTime 开始时间(13位时间戳) - * @param {number} endTime 结束时间 (13位时间戳) + * @param {number} startMs 开始时间(13位时间戳) * @return {*} * @memberof LadderMatchRec */ - public static async findRecByTimeRange(roleId: string, startTime: number, endTime: number) { + public static async findRecentRec(roleId: string, startMs: number) { let recs: LadderMatchRecType[] = await LadderMatchRecModel.find({ - endTime: {$gt: startTime, $lt: endTime}, + endTime: { $gt: startMs }, $or: [{roleId1: roleId}, { roleId2: roleId }], status: LADDER_STATUS.COMPLETE }).select({ battleCode: 1, roleId1: 1, roleId2: 1, _id: -1, endTime: 1, attackInfo: 1, defenseInfo: 1, hasRpl: 1 }).limit(1000).lean();