pvp赛季结算界面

This commit is contained in:
mamengke01
2021-01-15 16:07:32 +08:00
parent 2e501014b0
commit 3d9a5e7592
8 changed files with 119 additions and 86 deletions
+3 -6
View File
@@ -22,7 +22,6 @@ export interface pvpUpdateInter {
challengeRefTime?:number;
isFirstEntry?:boolean;
receivedBox?: Array<number>;
seasonEndTime?:number;
isDefaultHero?:boolean;
}
@@ -143,8 +142,6 @@ export default class PvpDefense extends BaseModel {
receivedBox: Array<number>;
@prop({ required: true, default: 0 })
seasonNum: number;
@prop({ required: true, default: 0 })
seasonEndTime: number;
@prop({ required: true, default: true })
isFirstEntry: boolean;
public static async findByRoleId(roleId: string, lean = true) {
@@ -160,7 +157,7 @@ export default class PvpDefense extends BaseModel {
return result;
}
public static async createPvpDefense(params: { roleId: string, roleName: string, role: string, heroes: Array<Heroes>, oppPlayers: Array<OppPlayers>, defCe: number, seasonNum: number, seasonEndTime:number, challengeCnt: number }, lean = true) {
public static async createPvpDefense(params: { roleId: string, roleName: string, role: string, heroes: Array<Heroes>, oppPlayers: Array<OppPlayers>, defCe: number, seasonNum: number,challengeCnt: number }, lean = true) {
const doc = new PvpDefenseModel();
const update = Object.assign(doc.toJSON(), params);
const defense: PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({ roleId: params.roleId }, update, { upsert: true, new: true }).lean(lean);
@@ -230,9 +227,9 @@ export default class PvpDefense extends BaseModel {
return result;
}
public static async getRank(page = 1, limit = 1000, lean = true) {
public static async getRank(seasonNum: number, page = 1, limit = 1000, lean = true) {
let sortBy = { score: -1, updatedAt: 1 };
const ranks: PvpDefenseType[] = await PvpDefenseModel.find().select('roleId role score updatedAt')
const ranks: PvpDefenseType[] = await PvpDefenseModel.find({seasonNum}).select('roleId role score updatedAt')
.populate('role', 'roleId roleName headHid sHid title lv vLv')
.sort(sortBy).limit(limit).skip((page - 1) * limit).lean(lean);
return ranks;