🐞 fix(battle): 优化武将擂台战报查询

This commit is contained in:
dcl
2023-02-22 18:07:29 +08:00
parent 7ec11643a1
commit de612dc1ba
2 changed files with 5 additions and 8 deletions

View File

@@ -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, <number>getTimeFunM().getBeforeDay(2));
return resResult(STATUS.SUCCESS, {
list: list.map(rec => {
const { roleId1, battleCode, hasRpl } = rec;

View File

@@ -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();