diff --git a/game-server/app/services/gvg/gvgFightService.ts b/game-server/app/services/gvg/gvgFightService.ts index 7927645d3..e075f485a 100644 --- a/game-server/app/services/gvg/gvgFightService.ts +++ b/game-server/app/services/gvg/gvgFightService.ts @@ -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; } diff --git a/shared/db/GVGVestigeRank.ts b/shared/db/GVGVestigeRank.ts index d7e30d681..b0d0319aa 100644 --- a/shared/db/GVGVestigeRank.ts +++ b/shared/db/GVGVestigeRank.ts @@ -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; } diff --git a/shared/domain/gvgField/returnData.ts b/shared/domain/gvgField/returnData.ts index 2b4771d8a..c3697457e 100644 --- a/shared/domain/gvgField/returnData.ts +++ b/shared/domain/gvgField/returnData.ts @@ -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 = '遗迹守卫军'; } }