名将擂台:修改重启后对数据接续处理
This commit is contained in:
@@ -20,6 +20,8 @@ export default class LadderMatchRec extends BaseModel {
|
||||
@prop({ required: true })
|
||||
timeout: boolean; // 是否超时
|
||||
@prop({ required: true })
|
||||
giveup: boolean; // 是否取消
|
||||
@prop({ required: true })
|
||||
checkTime: number; // 开始出兵的时间,13位时间戳
|
||||
@prop({ required: true })
|
||||
battleTime: number; // 开始挑战的时间,13位时间
|
||||
@@ -55,8 +57,8 @@ export default class LadderMatchRec extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async giveup(battleCode: string) {
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, { $set: { status: LADDER_STATUS.NO } }, { new: true }).lean();
|
||||
public static async giveup(roleId: string, battleCode: string) {
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ roleId1: roleId, battleCode }, { $set: { status: LADDER_STATUS.COMPLETE, timeout: false, giveup: true, endTime: Date.now() } }, { new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -102,18 +104,23 @@ export default class LadderMatchRec extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async clearLock() {
|
||||
public static async getUncompleteData() {
|
||||
let recs = await LadderMatchRecModel.find({
|
||||
$or: [
|
||||
{ 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 } }
|
||||
{ status: LADDER_STATUS.CHECK },
|
||||
{ status: LADDER_STATUS.BATTLE }
|
||||
]
|
||||
});
|
||||
await LadderMatchRecModel.updateMany({
|
||||
battleCode: { $in: recs.map(cur => cur.battleCode) }
|
||||
}, { $set: { status: LADDER_STATUS.COMPLETE, timeout: true } });
|
||||
return recs;
|
||||
}
|
||||
|
||||
public static async timeoutMany(battleCode: string[]) {
|
||||
|
||||
await LadderMatchRecModel.updateMany({
|
||||
battleCode: { $in: battleCode }
|
||||
}, { $set: { status: LADDER_STATUS.COMPLETE, timeout: true, endTime: Date.now() } });
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export const LadderMatchRecModel = getModelForClass(LadderMatchRec);
|
||||
|
||||
Reference in New Issue
Block a user