✨ feat(gvg): 获取遗迹信息时给对手加上联军信息
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 = '遗迹守卫军';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user