名将擂台:刷新对手顺序
This commit is contained in:
@@ -198,8 +198,7 @@ export class LadderHandler {
|
|||||||
let { isChange, atkLadderMatch, defLadderMatch, endTime } = await LadderMatchModel.changeRank(isSuccess, rec.attackInfo, rec.defenseInfo);
|
let { isChange, atkLadderMatch, defLadderMatch, endTime } = await LadderMatchModel.changeRank(isSuccess, rec.attackInfo, rec.defenseInfo);
|
||||||
|
|
||||||
if(isChange) {
|
if(isChange) {
|
||||||
let oppPlayers = await battleEndWhenChange(atkLadderMatch, true);
|
let oppPlayers = await battleEndWhenChange(atkLadderMatch, defLadderMatch, true);
|
||||||
await battleEndWhenChange(defLadderMatch, true);
|
|
||||||
result.setOppPlayers(oppPlayers);
|
result.setOppPlayers(oppPlayers);
|
||||||
rec = await LadderMatchRecModel.battleEnd(battleCode, isSuccess, endTime, atkLadderMatch.rank, defLadderMatch? defLadderMatch.rank: rec.attackInfo.oldRank);
|
rec = await LadderMatchRecModel.battleEnd(battleCode, isSuccess, endTime, atkLadderMatch.rank, defLadderMatch? defLadderMatch.rank: rec.attackInfo.oldRank);
|
||||||
if(atkLadderMatch.rank == 1) {
|
if(atkLadderMatch.rank == 1) {
|
||||||
@@ -386,8 +385,7 @@ export class LadderHandler {
|
|||||||
atkLadderMatch = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: { rank, oldRank: atkLadderMatch.rank, historyRank: rank } }, { new: true }).lean();
|
atkLadderMatch = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: { rank, oldRank: atkLadderMatch.rank, historyRank: rank } }, { new: true }).lean();
|
||||||
}
|
}
|
||||||
|
|
||||||
await battleEndWhenChange(atkLadderMatch, true);
|
await battleEndWhenChange(atkLadderMatch, defLadderMatch, true);
|
||||||
await battleEndWhenChange(defLadderMatch, true);
|
|
||||||
return resResult(STATUS.SUCCESS);
|
return resResult(STATUS.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -299,16 +299,25 @@ export async function ladderTimeout(battleCode: string, status: LADDER_STATUS) {
|
|||||||
* @param isAtk
|
* @param isAtk
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export async function battleEndWhenChange(ladderMatch: LadderMatchType, needRefresh: boolean) {
|
export async function battleEndWhenChange(atkLadderMatch: LadderMatchType, defLadderMatch: LadderMatchType, needRefresh: boolean) {
|
||||||
if(!ladderMatch) return;
|
await updateLadderRedis(atkLadderMatch);
|
||||||
|
await updateLadderRedis(defLadderMatch);
|
||||||
|
await refreshOpp(defLadderMatch, needRefresh);
|
||||||
|
return await refreshOpp(atkLadderMatch, needRefresh);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function updateLadderRedis(ladderMatch: LadderMatchType) {
|
||||||
|
if(!ladderMatch) return;
|
||||||
// 更新redis
|
// 更新redis
|
||||||
if(ladderMatch.rank > 0 && ladderMatch.rank < 3001) {
|
if(ladderMatch.rank > 0 && ladderMatch.rank < 3001) {
|
||||||
let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId });
|
let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId });
|
||||||
await r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
|
await r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
|
||||||
await saveLadderDefCeByData(ladderMatch.roleId, ladderMatch);
|
await saveLadderDefCeByData(ladderMatch.roleId, ladderMatch);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function refreshOpp(ladderMatch: LadderMatchType, needRefresh: boolean) {
|
||||||
|
if(!ladderMatch) return []
|
||||||
// 刷新对手
|
// 刷新对手
|
||||||
if(needRefresh) {
|
if(needRefresh) {
|
||||||
let oppPlayers = await refreshLadderEnemies(ladderMatch);
|
let oppPlayers = await refreshLadderEnemies(ladderMatch);
|
||||||
|
|||||||
Reference in New Issue
Block a user