✨ feat(校验): 添加战场伤害统计伤害
This commit is contained in:
@@ -12,7 +12,7 @@ import { addItems } from '../../../services/role/rewardService';
|
||||
import { getAp, setAp } from '../../../services/actionPointService';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
import { calculateWarStar, checkBattleHeroes, roleLevelup } from '../../../services/normalBattleService';
|
||||
import { calculateWarStar, checkBattleHeroes, getBattleRecordParam, roleLevelup } from '../../../services/normalBattleService';
|
||||
import { checkTask, checkTaskInBattleEnd, checkTaskInBattleStart, checkTaskInSkipExpedition } from '../../../services/task/taskService';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
@@ -21,6 +21,7 @@ import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { getSumCe } from '../../../services/playerCeService';
|
||||
import { vipCanSkipExpedition } from '../../../services/activity/monthlyTicketService';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
import { pvpEndParamInter } from '../../../pubUtils/interface';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -256,9 +257,9 @@ export class ExpeditionBattleHandler {
|
||||
* 战斗结算
|
||||
* 结算战斗奖励,更新远征状态
|
||||
*/
|
||||
async battleEnd(msg: { expeditionCode: string, expeditionId: number, battleCode: string, battleId: number, isSuccess: boolean, heroes: Array<{ dataId: number, hp: number, ap: number, shield: number }>, enemies: Array<{ dataId: number, hp: number, ap: number }>, star: number, stars: number[] }, session: BackendSession) {
|
||||
async battleEnd(msg: { expeditionCode: string, expeditionId: number, battleCode: string, battleId: number, isSuccess: boolean, heroes: Array<{ dataId: number, hp: number, ap: number, shield: number }>, enemies: Array<{ dataId: number, hp: number, ap: number }>, star: number, stars: number[], damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
|
||||
|
||||
const { expeditionCode, battleCode, battleId, expeditionId, isSuccess, heroes = [], star, stars = [], enemies } = msg;
|
||||
const { expeditionCode, battleCode, battleId, expeditionId, isSuccess, heroes = [], star, stars = [], enemies, damageRecords, round } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
const serverId = session.get('serverId');
|
||||
@@ -303,7 +304,7 @@ export class ExpeditionBattleHandler {
|
||||
expeditionWarRecord = await ExpeditionWarRecordModel.updateEnemiesStatus(expeditionCode, expeditionId, battleStatus, enemies);
|
||||
// 更新battleRecord状态
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, {
|
||||
$set: { status: isSuccess ? 1 : 2, star }
|
||||
$set: { status: isSuccess ? 1 : 2, star, ...getBattleRecordParam(damageRecords, round) }
|
||||
}, true);
|
||||
// 更新点数
|
||||
role = await RoleModel.increaseExpeditionPoint(roleId, isSuccess ? dicParam.EXPEDITION_CONST.EXPEDITION_CONST_POINTS : 0);
|
||||
|
||||
@@ -13,7 +13,7 @@ import { HeroModel } from '../../../db/Hero';
|
||||
import { LADDER } from '../../../pubUtils/dicParam';
|
||||
import { handleCost } from '../../../services/role/rewardService';
|
||||
import { DEBUG_MAGIC_WORD, ITEM_CHANGE_REASON, LADDER_OPP_STATUS, LADDER_STATUS, REDIS_KEY, WAR_TYPE } from '../../../consts';
|
||||
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
|
||||
import { checkBattleHeroesByHid, getBattleRecordParam } from '../../../services/normalBattleService';
|
||||
import { ServerlistModel } from '../../../db/Serverlist';
|
||||
import { saveLadderDefCeByData } from '../../../services/redisService';
|
||||
import { pushLadderTopChangeMsg } from '../../../services/sysChatService';
|
||||
@@ -21,6 +21,7 @@ import { checkTaskInLadderEnd, checkTaskInLadderStart, checkTaskInLadderSweep }
|
||||
import { BattleRecordModel } from '../../../db/BattleRecord';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
import { getRemoteRplFilePath, getRemoteRplPrefix } from '../../../pubUtils/battleUtils';
|
||||
import { pvpEndParamInter } from '../../../pubUtils/interface';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -184,12 +185,12 @@ export class LadderHandler {
|
||||
}
|
||||
|
||||
// 7. 挑战结算
|
||||
async battleEnd(msg: { battleCode: string, isSuccess: boolean }, session: BackendSession) {
|
||||
async battleEnd(msg: { battleCode: string, isSuccess: boolean, damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let serverId = session.get('serverId');
|
||||
let sid = session.get('sid');
|
||||
let { battleCode, isSuccess } = msg;
|
||||
let { battleCode, isSuccess, damageRecords, round } = msg;
|
||||
|
||||
let rec = await LadderMatchRecModel.findByBattleCode(battleCode);
|
||||
if(!rec || rec.roleId1 != roleId) return resResult(STATUS.LADDER_REC_NOT_FOUND);
|
||||
@@ -218,7 +219,7 @@ export class LadderHandler {
|
||||
let oppPlayers = await getLadderEnemies(atkLadderMatch);
|
||||
result.setOppPlayers(oppPlayers);
|
||||
}
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, { $set: { status: isSuccess? 1: 2 } });
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, { $set: { status: isSuccess? 1: 2, ...getBattleRecordParam(damageRecords, round) } });
|
||||
if(defLadderMatch) {
|
||||
await LadderMatchModel.unlock(defLadderMatch.serverId, defLadderMatch.roleId);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import { STATUS } from '../../../consts/statusCode';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { RScriptRecordModel } from '../../../db/RScriptRecord';
|
||||
import { checkBattleHeroes, roleLevelup, calculateWarStar, getBattleListOfTypes, getMainChapter, getStarOfChapter, checkWarCountAndInc } from '../../../services/normalBattleService';
|
||||
import { checkBattleHeroes, roleLevelup, calculateWarStar, getBattleListOfTypes, getMainChapter, getStarOfChapter, checkWarCountAndInc, getBattleRecordParam } from '../../../services/normalBattleService';
|
||||
import { checkDungeonNum, checkDungeonAndIncrease, saveDungeonFirst } from '../../../services/dungeonService';
|
||||
// import { switchOnFunc } from '../../../services/funcSwitchService';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
@@ -28,7 +28,7 @@ import { challengeNewHeroGK } from '../../../services/activity/newHeroService';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { getVipRegretCnt } from '../../../services/activity/monthlyTicketService';
|
||||
import { isArray, isNumber } from 'underscore';
|
||||
import { RewardInter } from '../../../pubUtils/interface';
|
||||
import { RewardInter, pvpEndParamInter } from '../../../pubUtils/interface';
|
||||
import { addItems } from '../../../services/role/rewardService';
|
||||
import { treasureHuntChallengeConsume } from '../../../services/activity/treasureHuntService';
|
||||
import { combineItems } from '../../../services/role/util';
|
||||
@@ -144,8 +144,8 @@ export class NormalBattleHandler {
|
||||
}
|
||||
|
||||
// 关卡结算,记录使用的武将,获得奖励
|
||||
async battleEnd(msg: { battleCode: string, battleId: number, isSuccess: boolean, stars: number[], heroes: number[], activityId: number }, session: BackendSession) {
|
||||
const { battleCode, battleId, isSuccess, heroes = [], stars = [], activityId } = msg;
|
||||
async battleEnd(msg: { battleCode: string, battleId: number, isSuccess: boolean, stars: number[], heroes: number[], activityId: number, damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
|
||||
const { battleCode, battleId, isSuccess, heroes = [], stars = [], activityId, damageRecords = [], round = 0 } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let sid = session.get('sid');
|
||||
@@ -293,7 +293,7 @@ export class NormalBattleHandler {
|
||||
let reward = await warReward.saveReward(1);
|
||||
|
||||
const updateResult = await BattleRecordModel.updateBattleRecordByCode(battleCode, {
|
||||
$set: { status: isSuccess ? 1 : 2, star: newStar, stars, record: { heroes } }
|
||||
$set: { status: isSuccess ? 1 : 2, star: newStar, stars, ...getBattleRecordParam(damageRecords, round, heroes) }
|
||||
}, true);
|
||||
let { status } = updateResult;
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import { getAllServerName, getServerName } from '../../../services/redisService'
|
||||
import { RoleRankInfo } from '../../../domain/rank';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
import { getPVPGroupIdOfServer } from '../../../services/serverService';
|
||||
import { getBattleRecordParam } from '../../../services/normalBattleService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -236,7 +237,7 @@ export class PvpHandler {
|
||||
}
|
||||
|
||||
// 结算
|
||||
async pvpEnd(msg: { battleCode: string, isSuccess: boolean, myHeroes: pvpEndParamInter[], oppHeroes: pvpEndParamInter[] }, session: BackendSession) {
|
||||
async pvpEnd(msg: { battleCode: string, isSuccess: boolean, myHeroes: pvpEndParamInter[], oppHeroes: pvpEndParamInter[], round: number }, session: BackendSession) {
|
||||
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
@@ -244,7 +245,7 @@ export class PvpHandler {
|
||||
|
||||
const serverId = session.get('serverId');
|
||||
|
||||
const { battleCode, isSuccess, myHeroes, oppHeroes } = msg;
|
||||
const { battleCode, isSuccess, myHeroes, oppHeroes, round } = msg;
|
||||
|
||||
const BattleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode, true);
|
||||
if (!BattleRecord || BattleRecord.status != 0) {
|
||||
@@ -282,7 +283,7 @@ export class PvpHandler {
|
||||
|
||||
// 更新battleRecord
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, {
|
||||
$set: { status: isSuccess ? 1 : 2 }
|
||||
$set: { status: isSuccess ? 1 : 2, ...getBattleRecordParam(myHeroes, round) }
|
||||
}, true);
|
||||
|
||||
if(seasonNum == pvpSeasonNum) {
|
||||
|
||||
@@ -15,13 +15,14 @@ import { gameData, getBossByLv } from '../../../pubUtils/data';
|
||||
import { lockData } from '../../../services/redLockService';
|
||||
import { pushGuildBossSucMsg, getGuildChannelSid } from '../../../services/chatService';
|
||||
import { checkTask } from '../../../services/task/taskService';
|
||||
import { guildInter } from '../../../pubUtils/interface';
|
||||
import { guildInter, pvpEndParamInter } from '../../../pubUtils/interface';
|
||||
import { addItems, getGoldObject, handleCost } from '../../../services/role/rewardService';
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { sendMailToGuildByContent } from '../../../services/mailService';
|
||||
import { genAuction, getAuctionRewardByPoolId } from '../../../services/auctionService';
|
||||
import { sendMessageToGuildWithSuc } from '../../../services/pushService';
|
||||
import { getBattleRecordParam } from '../../../services/normalBattleService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -204,8 +205,8 @@ export class GuildHandler {
|
||||
}
|
||||
}
|
||||
|
||||
async battleBossEnd(msg: guildInter & { bossCode: string, battleCode: string }, session: BackendSession) {
|
||||
const { battleCode, myUserGuild: userGuild, bossCode } = msg;
|
||||
async battleBossEnd(msg: guildInter & { bossCode: string, battleCode: string, damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
|
||||
const { battleCode, myUserGuild: userGuild, bossCode, damageRecords, round } = msg;
|
||||
const roleId = session.get('roleId');
|
||||
const roleName = session.get('roleName');
|
||||
const sid = session.get('sid');
|
||||
@@ -214,7 +215,7 @@ export class GuildHandler {
|
||||
if(!bossInstance) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let battleRecord = await BattleRecordModel.updateBattleRecordByCode(battleCode, {
|
||||
$set: { status: 1 }//战斗结束统一设置成1
|
||||
$set: { status: 1, ...getBattleRecordParam(damageRecords, round) }//战斗结束统一设置成1
|
||||
}, true);
|
||||
|
||||
let { bossDamage = 0 } = battleRecord.record; // 伤害奖励
|
||||
|
||||
@@ -19,8 +19,9 @@ import { GuildTrainReportModel } from '../../../db/GuildTrainReport';
|
||||
import { DATA_NAME } from '../../../consts/dataName';
|
||||
import { pushGuildTrainSucMsg } from '../../../services/chatService';
|
||||
import { checkTaskInGuildTrain } from '../../../services/task/taskService';
|
||||
import { guildInter, RewardInter } from '../../../pubUtils/interface';
|
||||
import { guildInter, pvpEndParamInter, RewardInter } from '../../../pubUtils/interface';
|
||||
import { getGuildTrainGkInfo } from '../../../pubUtils/data';
|
||||
import { getBattleRecordParam } from '../../../services/normalBattleService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -140,9 +141,9 @@ export class GuildTrainHandler {
|
||||
* @param msg
|
||||
* @param session
|
||||
*/
|
||||
async trainBattleEnd(msg: guildInter & { battleCode: string, isSuccess: boolean }, session: BackendSession) {
|
||||
async trainBattleEnd(msg: guildInter & { battleCode: string, isSuccess: boolean, damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
|
||||
|
||||
const { battleCode, isSuccess, myUserGuild } = msg;
|
||||
const { battleCode, isSuccess, myUserGuild, damageRecords, round } = msg;
|
||||
const roleId: string = session.get('roleId');
|
||||
const serverId: number = parseInt(session.get('serverId'));
|
||||
const roleName: string = session.get('roleName');
|
||||
@@ -169,7 +170,7 @@ export class GuildTrainHandler {
|
||||
userGuild = await UserGuildModel.updateInfo(roleId, {}, { trainCount: -1 });//扣除一次挑战次数
|
||||
}
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, {
|
||||
$set: { status: isSuccess ? 1 : 2 }
|
||||
$set: { status: isSuccess ? 1 : 2, ...getBattleRecordParam(damageRecords, round) }
|
||||
}, true);//设置战斗状态
|
||||
|
||||
let { trainId, trainLv, hid, difficulty } = battleRecord.record;
|
||||
|
||||
@@ -16,7 +16,7 @@ import { RoleRankInfo } from "../../../domain/rank";
|
||||
import { getRemoteRplFilePath, getRemoteRplPrefix } from "../../../pubUtils/battleUtils";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
import { GVG } from "../../../pubUtils/dicParam";
|
||||
import { RewardInter } from "../../../pubUtils/interface";
|
||||
import { RewardInter, pvpEndParamInter } from "../../../pubUtils/interface";
|
||||
import { parseGoodStr, resResult } from "../../../pubUtils/util";
|
||||
import { isHeroHidden } from "../../../services/dataService";
|
||||
import { calBreakGoods, checkHeroIsUsedInOtherVestige, checkVestige, checkVestigeOppStatus, checkVestigeRank, generateAttackHeroInfo, generateAttackInfo, generateDefenseInfo, getDayKeyInfo, getMyVestigeRank, getOppDetailData, getOppPlayerByRanks, getVestigeRecStatus, getVestigeRank, getVestigeUsedHeroes, isRobot, refreshVestigeOppRanks, saveScoreToRank, updateMyVestigeRank, saveVestigeRankSchedule, calVestigeLeagueBoxRewards, checkFightTime, savePlayerRank, checkHeroChangeInVestige } from "../../../services/gvg/gvgFightService";
|
||||
@@ -24,7 +24,7 @@ import { addGVGReward, combinePushItem, handleGVGCost } from "../../../services/
|
||||
import { addGVGActive, getGVGActive } from "../../../services/gvg/gvgPrepareService";
|
||||
import { addVestigeBattleEndRec } from "../../../services/gvg/gvgRecService";
|
||||
import { getGroupKey, getGVGPeriodData, getMemberJoinLeagueTime } from "../../../services/gvg/gvgService";
|
||||
import { checkBattleHeroesByHid } from "../../../services/normalBattleService";
|
||||
import { checkBattleHeroesByHid, getBattleRecordParam } from "../../../services/normalBattleService";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
import { getAllServerName } from "../../../services/redisService";
|
||||
import { CheckMeterial } from "../../../services/role/checkMaterial";
|
||||
@@ -340,14 +340,14 @@ export class GVGProduceHandler {
|
||||
}
|
||||
|
||||
// 挑战结算
|
||||
async battleEnd(msg: { battleCode: string, isSuccess: boolean }, session: BackendSession) {
|
||||
async battleEnd(msg: { battleCode: string, isSuccess: boolean, damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
|
||||
|
||||
const roleId = session.get('roleId');
|
||||
const roleName = session.get('roleName');
|
||||
const serverId = session.get('serverId');
|
||||
const sid = session.get('sid');
|
||||
const guildCode = session.get('guildCode');
|
||||
const { battleCode, isSuccess } = msg;
|
||||
const { battleCode, isSuccess, damageRecords, round } = msg;
|
||||
|
||||
let rec = await GVGVestigeRecModel.findByBattleCode(battleCode);
|
||||
if(!rec || rec.attackRoleId != roleId) return resResult(STATUS.GVG_VESTIGE_REC_NOT_FOUND);
|
||||
@@ -370,7 +370,7 @@ export class GVGProduceHandler {
|
||||
// 更新锁
|
||||
await GVGVestigeLockModel.releaseLock(rec.groupKey, rec.vestigeId, rec.defenseInfo.oldRank);
|
||||
// 更新battleRecord
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, { $set: { status: isSuccess? 1: 2 } });
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, { $set: { status: isSuccess? 1: 2, ...getBattleRecordParam(damageRecords, round) } });
|
||||
|
||||
// 取消突破排名奖励
|
||||
// let { rewards, leagueRewards } = calBreakGoods(rec.vestigeId, historyRank, atkData.rank);
|
||||
|
||||
@@ -14,13 +14,14 @@ import { setAp } from './actionPointService';
|
||||
import { resResult, shouldRefresh } from '../pubUtils/util';
|
||||
import { GuildLeader, LineupParam } from '../domain/rank';
|
||||
import { WarStar } from '../domain/dbGeneral';
|
||||
import { uniq } from 'underscore';
|
||||
import { isArray, isNumber, uniq } from 'underscore';
|
||||
import { checkPopUpCondition } from './activity/popUpShopService';
|
||||
import { calculateCeWithRole } from './playerCeService';
|
||||
import { sendMessageToUserWithSuc } from './pushService';
|
||||
import { ActionPointModel } from '../db/ActionPoint';
|
||||
import { GK_MAIN, GK_MAINELITE, RECHARGE } from '../pubUtils/dicParam';
|
||||
import { updateGVGBattleRoleInfo } from './gvg/gvgTeamService';
|
||||
import { pvpEndParamInter } from '../pubUtils/interface';
|
||||
|
||||
export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kingExp: number = 0, session: BackendSession) {
|
||||
const serverId = session.get('serverId');
|
||||
@@ -263,3 +264,17 @@ export function getMainChapter(role: RoleType) {
|
||||
receivedWarIds: role.receivedWarIds||[],
|
||||
}
|
||||
}
|
||||
|
||||
export function getBattleRecordParam(damageRecord: pvpEndParamInter[], round: number, heroes?: number[]) {
|
||||
let record = { 'record.heroes': [], 'record.damageRecord': [], 'record.round': 0 };
|
||||
if(heroes && isArray(heroes)) record['record.heroes'] = heroes;
|
||||
if(damageRecord && isArray(damageRecord)) {
|
||||
for(let { hid, damage, heal, underDamage } of damageRecord) {
|
||||
if(isNumber(hid) && isNumber(damage) && isNumber(heal) && isNumber(underDamage)) {
|
||||
record['record.damageRecord'].push({ hid, damage, heal, underDamage });
|
||||
}
|
||||
}
|
||||
}
|
||||
if(isNumber(round)) record['record.round'] = round;
|
||||
return record;
|
||||
}
|
||||
@@ -6,6 +6,17 @@ import { LineupParam } from '../domain/rank';
|
||||
* 战斗记录接口
|
||||
*/
|
||||
|
||||
class DamageRecord {
|
||||
@prop({ required: true })
|
||||
hid: number;
|
||||
@prop({ required: true })
|
||||
damage: number;
|
||||
@prop({ required: true })
|
||||
heal: number;
|
||||
@prop({ required: true })
|
||||
underDamage: number;
|
||||
}
|
||||
|
||||
class Record {
|
||||
@prop({ required: true, type: Number })
|
||||
heroes?: Array<number>; // 武将id
|
||||
@@ -37,6 +48,11 @@ class Record {
|
||||
encourageCnt?: number;
|
||||
@prop({ required: false })
|
||||
pvpSeasonNum?: number;
|
||||
|
||||
@prop({ required: false, type: DamageRecord, _id: false })
|
||||
damageRecord?: DamageRecord[];
|
||||
@prop({ required: false })
|
||||
round?: number;
|
||||
}
|
||||
|
||||
@index({ roleId: 1, battleId: 1 })
|
||||
|
||||
@@ -115,8 +115,8 @@ export class PvpRecordPlayerInfo {
|
||||
|
||||
@index({ code: 1 })
|
||||
@index({ battleCode: 1 })
|
||||
@index({ roleId1: 1, updatedAt: -1 })
|
||||
@index({ roleId2: 1, updatedAt: -1 })
|
||||
@index({ roleId1: 1, createTime: -1 })
|
||||
@index({ roleId2: 1, createTime: -1 })
|
||||
|
||||
export default class PvpRecord extends BaseModel {
|
||||
@prop({ required: true })
|
||||
@@ -146,7 +146,7 @@ export default class PvpRecord extends BaseModel {
|
||||
timeout: boolean;
|
||||
|
||||
public static async createRec(roleId1: string, roleId2: string, battleCode: string) {
|
||||
await this.delPvpRecords();
|
||||
// await this.delPvpRecords();
|
||||
let code = genCode(6);
|
||||
const result = await PvpRecordModel.findOneAndUpdate({ code }, { $set: { roleId1, roleId2, battleCode } }, { new: true, upsert: true }).lean();
|
||||
return result;
|
||||
@@ -158,8 +158,9 @@ export default class PvpRecord extends BaseModel {
|
||||
}
|
||||
|
||||
public static async getRecByRoleId( roleId: string, limit = 15, lean = true) {
|
||||
await this.delPvpRecords();
|
||||
const result: PvpRecord[] = await PvpRecordModel.find({ $or:[{roleId1: roleId}, {roleId2: roleId}], createTime: { $gt: 0 } }).select('-_id -__v -createdAt -updatedAt').limit(limit).sort({createTime: -1}).lean(lean);
|
||||
// await this.delPvpRecords();
|
||||
let t = <number>getTimeFun().getBeforeDayWithHour(3);
|
||||
const result: PvpRecord[] = await PvpRecordModel.find({ $or:[{roleId1: roleId}, {roleId2: roleId}], createTime: { $gt: t } }).select('-_id -__v -createdAt -updatedAt').limit(limit).sort({createTime: -1}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user