名将擂台:修改时间精度和debug接口
This commit is contained in:
+10
-11
@@ -3,7 +3,6 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos
|
||||
import { LADDER_STATUS } from '../consts';
|
||||
import { LadderDefense, LadderOppPlayerInfo, LadderOppPlayerHeroInfo } from '../domain/battleField/ladder';
|
||||
import { genCode } from '../pubUtils/util';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
import { LADDER } from '../pubUtils/dicParam';
|
||||
|
||||
@index({ battleCode: 1 })
|
||||
@@ -21,11 +20,11 @@ export default class LadderMatchRec extends BaseModel {
|
||||
@prop({ required: true })
|
||||
timeout: boolean; // 是否超时
|
||||
@prop({ required: true })
|
||||
checkTime: number; // 开始出兵的时间,10位时间戳
|
||||
checkTime: number; // 开始出兵的时间,13位时间戳
|
||||
@prop({ required: true })
|
||||
battleTime: number; // 开始挑战的时间,10位时间
|
||||
battleTime: number; // 开始挑战的时间,13位时间
|
||||
@prop({ required: true })
|
||||
endTime: number; // 结束时间
|
||||
endTime: number; // 结束时间,13位时间戳
|
||||
@prop({ required: true, type: () => LadderOppPlayerInfo, default: {}, _id: false })
|
||||
attackInfo: LadderOppPlayerInfo; // 攻方信息
|
||||
@prop({ required: true, type: () => LadderOppPlayerInfo, default: {}, _id: false })
|
||||
@@ -46,13 +45,13 @@ export default class LadderMatchRec extends BaseModel {
|
||||
public static async createRec(serverId: number, roleId1: string, roleId2: string, defense: LadderDefense, attackInfo: LadderOppPlayerInfo, defenseInfo: LadderOppPlayerInfo) {
|
||||
const battleCode = genCode(10);
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, {
|
||||
$set: { roleId1, roleId2, serverId, defense, status: LADDER_STATUS.CHECK, checkTime: nowSeconds(), attackInfo, defenseInfo }
|
||||
$set: { roleId1, roleId2, serverId, defense, status: LADDER_STATUS.CHECK, checkTime: Date.now(), attackInfo, defenseInfo }
|
||||
}, { new: true, upsert: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async timeout(battleCode: string) {
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, { $set: { status: LADDER_STATUS.COMPLETE, timeout: true, endTime: nowSeconds() } }, { new: true }).lean();
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, { $set: { status: LADDER_STATUS.COMPLETE, timeout: true, endTime: Date.now() } }, { new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -68,13 +67,13 @@ export default class LadderMatchRec extends BaseModel {
|
||||
|
||||
public static async startBattle(battleCode: string, attackHeroes: LadderOppPlayerHeroInfo[]) {
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, {
|
||||
$set: { status: LADDER_STATUS.BATTLE, battleTime: nowSeconds(), 'attackInfo.heroes': attackHeroes }
|
||||
$set: { status: LADDER_STATUS.BATTLE, battleTime: Date.now(), 'attackInfo.heroes': attackHeroes }
|
||||
}, { new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async battleEnd(battleCode: string, isSuccess: boolean, atkNewRank?: number, defNewRank?: number) {
|
||||
let update: LadderMatchRecUpdate = { status: LADDER_STATUS.COMPLETE, endTime: nowSeconds(), timeout: false };
|
||||
public static async battleEnd(battleCode: string, isSuccess: boolean, endTime: number, atkNewRank?: number, defNewRank?: number) {
|
||||
let update: LadderMatchRecUpdate = { status: LADDER_STATUS.COMPLETE, endTime, timeout: false };
|
||||
if(isSuccess) {
|
||||
update['attackInfo.isSuccess'] = true;
|
||||
update['defenseInfo.isSuccess'] = false;
|
||||
@@ -106,8 +105,8 @@ export default class LadderMatchRec extends BaseModel {
|
||||
public static async clearLock() {
|
||||
let recs = await LadderMatchRecModel.find({
|
||||
$or: [
|
||||
{ status: LADDER_STATUS.CHECK, checkTime: { $lt: nowSeconds() - LADDER.LADDER_BATTLE_PREPARE_COUNTDOWN } },
|
||||
{ status: LADDER_STATUS.BATTLE, checkTime: { $lt: nowSeconds() - LADDER.LADDER_BATTLE_COUNTDOWN } }
|
||||
{ status: LADDER_STATUS.CHECK, checkTime: { $lt: Date.now() - LADDER.LADDER_BATTLE_PREPARE_COUNTDOWN * 1000 } },
|
||||
{ status: LADDER_STATUS.BATTLE, checkTime: { $lt: Date.now() - LADDER.LADDER_BATTLE_COUNTDOWN * 1000 } }
|
||||
]
|
||||
});
|
||||
await LadderMatchRecModel.updateMany({
|
||||
|
||||
Reference in New Issue
Block a user