名将擂台:特殊处理已经定时任务处理
This commit is contained in:
@@ -83,16 +83,16 @@ export default class LadderMatch extends BaseModel {
|
||||
return result
|
||||
}
|
||||
|
||||
public static async lock(roleId: string, rank: number) {
|
||||
const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ roleId, rank, locked: 0 }, { $set: { locked: 1 }}, { new: true })
|
||||
public static async lock(serverId: number, roleId: string, rank: number) {
|
||||
const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ serverId, roleId, rank, locked: 0 }, { $set: { locked: 1 }}, { new: true })
|
||||
.populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt')
|
||||
.populate('defense.heroes.hero', 'hid skinId quality star colorStar lv')
|
||||
.lean();
|
||||
return defense;
|
||||
}
|
||||
|
||||
public static async unlock(roleId: string) {
|
||||
const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: { locked: 0 }}, { new: true }).lean();
|
||||
public static async unlock(serverId: number, roleId: string) {
|
||||
const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ serverId, roleId }, { $set: { locked: 0 }}, { new: true }).lean();
|
||||
return defense;
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ export default class LadderMatchRec extends BaseModel {
|
||||
}
|
||||
|
||||
public static async timeout(battleCode: string) {
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, { $set: { status: LADDER_STATUS.COMPLETE, timeout: true } }, { new: true }).lean();
|
||||
const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, { $set: { status: LADDER_STATUS.COMPLETE, timeout: true, endTime: nowSeconds() } }, { new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -74,15 +74,15 @@ export default class LadderMatchRec extends BaseModel {
|
||||
}
|
||||
|
||||
public static async battleEnd(battleCode: string, isSuccess: boolean, atkNewRank?: number, defNewRank?: number) {
|
||||
let update: LadderMatchRecUpdate = { status: LADDER_STATUS.COMPLETE, endTime: nowSeconds() };
|
||||
let update: LadderMatchRecUpdate = { status: LADDER_STATUS.COMPLETE, endTime: nowSeconds(), timeout: false };
|
||||
if(isSuccess) {
|
||||
update['attackInfo.isSuccess'] = true;
|
||||
update['defenseInfo.isSuccess'] = false;
|
||||
}
|
||||
if(atkNewRank != undefined && defNewRank != undefined) {
|
||||
update['attackInfo.rank'] = atkNewRank;
|
||||
update['attackInfo.newRank'] = atkNewRank;
|
||||
update['attackInfo.oldRank'] = defNewRank;
|
||||
update['defenseInfo.rank'] = defNewRank;
|
||||
update['defenseInfo.newRank'] = defNewRank;
|
||||
update['defenseInfo.oldRank'] = atkNewRank;
|
||||
}
|
||||
|
||||
@@ -98,8 +98,8 @@ export default class LadderMatchRec extends BaseModel {
|
||||
return recs;
|
||||
}
|
||||
|
||||
public static async checkByRank(roleId2: string) {
|
||||
const result = await LadderMatchRecModel.exists({ roleId2, status: { $in: [LADDER_STATUS.BATTLE, LADDER_STATUS.CHECK] } });
|
||||
public static async checkByRank(serverId: number, roleId2: string) {
|
||||
const result = await LadderMatchRecModel.exists({ serverId, roleId2, status: { $in: [LADDER_STATUS.BATTLE, LADDER_STATUS.CHECK] } });
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user