🐞 fix(battle): 优化武将擂台战报查询
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user