添加显示所有武将页面排序
This commit is contained in:
@@ -199,7 +199,7 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, mapWarJson: DicWarJ
|
||||
let { heroScores, heroes: defenseHeroes } = pvpdefense;
|
||||
let role = <RoleType>pvpdefense.role;
|
||||
let rankLv = await getMyRank(REDIS_KEY.PVP_RANK, 0, role.roleId);
|
||||
let dbHeroes = await HeroModel.findByRole(role.roleId);
|
||||
let dbHeroes = await HeroModel.findByRole(role.roleId, [{field: 'ce', sortBy: -1}]);
|
||||
let heroes = new Array<PvpEnemies>();
|
||||
let otherHeroes = new Array<PvpOtherHeroes>(); // 阵容外的所有武将信息
|
||||
for(let dbHero of dbHeroes) {
|
||||
@@ -222,6 +222,8 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, mapWarJson: DicWarJ
|
||||
otherHeroes.push(heroInfo);
|
||||
}
|
||||
}
|
||||
heroes.sort((a, b) => b.score - a.score);
|
||||
otherHeroes.sort((a, b) => b.score - a.score);
|
||||
|
||||
let pvpHistoryOpp = await PvpHistoryOppModel.createPvpOpp({
|
||||
...pvpdefense, ...role, pos, rankLv, heroes, otherHeroes, roleId, oppRoleId: makeRobotId(pvpdefense.roleId)
|
||||
|
||||
@@ -144,8 +144,12 @@ export default class Hero extends BaseModel {
|
||||
@prop({ required: true, type: EPlace, default: getInitialEplace(), _id: false })
|
||||
ePlace: EPlace[]; // 武将装备引用数组
|
||||
|
||||
public static async findByRole(roleId: string, lean = true) {
|
||||
const heros: HeroType[] = await HeroModel.find({ roleId }).lean(lean);
|
||||
public static async findByRole(roleId: string, sort: { field: string, sortBy: number }[] = []) {
|
||||
let sortParam = {};
|
||||
for(let {field, sortBy} of sort) {
|
||||
sortParam[field] = sortBy;
|
||||
}
|
||||
const heros: HeroType[] = await HeroModel.find({ roleId }).sort(sortParam).lean();
|
||||
return heros;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user