feat(gvg): 获取遗迹信息时给对手加上联军信息

This commit is contained in:
liangtongchuan
2023-02-23 21:51:17 +08:00
parent 64415bb2a9
commit 5a85d6e86c
3 changed files with 16 additions and 5 deletions

View File

@@ -114,7 +114,8 @@ export async function getOppPlayerByRanks(serverId: number, groupKey: string, ve
let role = roles.find(cur => cur.roleId == opp.roleId);
if(!role) continue;
let lineupce = opp.lineup.reduce((pre, cur) => pre + cur.ce, 0);
obj.setByRole(role, serverNames, lineupce, dicCurRank?.score||0);
const { leagueCode, name } = opp;
obj.setByRole(role, serverNames, lineupce, dicCurRank?.score||0, leagueCode, name);
} else {
obj.setByDic(dicCurRank, serverNames[serverId]);
}
@@ -328,7 +329,8 @@ export async function getMyVestigeRank(configId: number, groupKey: string, vesti
myLeague = await GVGLeagueModel.findLeagueByGuild(role.guildCode);
if(!myLeague) return null
}
myVestigeRank = await GVGVestigeRankModel.initRank(configId, vestigeId, groupKey, role, myLeague.leagueCode, oppRanks );
const { leagueCode, name } = myLeague;
myVestigeRank = await GVGVestigeRankModel.initRank(configId, vestigeId, groupKey, role, leagueCode, name, oppRanks );
}
return myVestigeRank;
}

View File

@@ -36,6 +36,9 @@ export default class GVGVestigeRank extends BaseModel {
@prop({ required: true })
leagueCode: string; // 联军
@prop({ required: true })
name: string; // 联军名字
@prop({ required: true, default: 0 })
rank: number; // 排名
@@ -75,10 +78,10 @@ export default class GVGVestigeRank extends BaseModel {
return result;
}
public static async initRank(configId: number, vestigeId: number, groupKey: string, role: RoleType, leagueCode: string, oppRanks: number[]) {
public static async initRank(configId: number, vestigeId: number, groupKey: string, role: RoleType, leagueCode: string, name: string, oppRanks: number[]) {
let today = getZeroPoint();
let doc = new GVGVestigeRankModel();
let update = Object.assign(doc.toJSON(), { role: role._id, configId, groupKey, oppRanks, leagueCode });
let update = Object.assign(doc.toJSON(), { role: role._id, configId, groupKey, oppRanks, leagueCode, name });
let result: GVGVestigeRankType = await GVGVestigeRankModel.findOneAndUpdate({ day: today, vestigeId, roleId: role.roleId }, { $setOnInsert: update }, { new: true, upsert: true }).lean();
return result;
}

View File

@@ -410,12 +410,14 @@ export class GVGVestigeOppPlayer {
serverName: string;
lineupCe: number;
score: number;
leagueCode: string;
leagueName: string;
constructor(rank: number) {
this.rank = rank;
}
setByRole(role: RoleType, serverNames: any, lineupCe: number, score: number) {
setByRole(role: RoleType, serverNames: any, lineupCe: number, score: number, leagueCode: string, leagueName: string) {
this.roleId = role.roleId;
this.roleName = role.roleName;
this.lv = role.lv;
@@ -427,6 +429,8 @@ export class GVGVestigeOppPlayer {
this.serverName = serverNames[role.serverId];
this.lineupCe = lineupCe;
this.score = score;
this.leagueCode = leagueCode;
this.leagueName = leagueName;
}
setByDic(dic: DicGVGVestige, serverName: string) {
@@ -442,6 +446,8 @@ export class GVGVestigeOppPlayer {
this.serverName = serverName;
this.lineupCe = dic.ce;
this.score = dic.score;
this.leagueCode = 'robot';
this.leagueName = '遗迹守卫军';
}
}