添加显示所有武将页面排序

This commit is contained in:
luying
2021-01-15 16:05:15 +08:00
parent a274d936d2
commit 9248286efd
2 changed files with 9 additions and 3 deletions
+3 -1
View File
@@ -199,7 +199,7 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, mapWarJson: DicWarJ
let { heroScores, heroes: defenseHeroes } = pvpdefense; let { heroScores, heroes: defenseHeroes } = pvpdefense;
let role = <RoleType>pvpdefense.role; let role = <RoleType>pvpdefense.role;
let rankLv = await getMyRank(REDIS_KEY.PVP_RANK, 0, role.roleId); 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 heroes = new Array<PvpEnemies>();
let otherHeroes = new Array<PvpOtherHeroes>(); // 阵容外的所有武将信息 let otherHeroes = new Array<PvpOtherHeroes>(); // 阵容外的所有武将信息
for(let dbHero of dbHeroes) { for(let dbHero of dbHeroes) {
@@ -222,6 +222,8 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, mapWarJson: DicWarJ
otherHeroes.push(heroInfo); otherHeroes.push(heroInfo);
} }
} }
heroes.sort((a, b) => b.score - a.score);
otherHeroes.sort((a, b) => b.score - a.score);
let pvpHistoryOpp = await PvpHistoryOppModel.createPvpOpp({ let pvpHistoryOpp = await PvpHistoryOppModel.createPvpOpp({
...pvpdefense, ...role, pos, rankLv, heroes, otherHeroes, roleId, oppRoleId: makeRobotId(pvpdefense.roleId) ...pvpdefense, ...role, pos, rankLv, heroes, otherHeroes, roleId, oppRoleId: makeRobotId(pvpdefense.roleId)
+6 -2
View File
@@ -144,8 +144,12 @@ export default class Hero extends BaseModel {
@prop({ required: true, type: EPlace, default: getInitialEplace(), _id: false }) @prop({ required: true, type: EPlace, default: getInitialEplace(), _id: false })
ePlace: EPlace[]; // 武将装备引用数组 ePlace: EPlace[]; // 武将装备引用数组
public static async findByRole(roleId: string, lean = true) { public static async findByRole(roleId: string, sort: { field: string, sortBy: number }[] = []) {
const heros: HeroType[] = await HeroModel.find({ roleId }).lean(lean); let sortParam = {};
for(let {field, sortBy} of sort) {
sortParam[field] = sortBy;
}
const heros: HeroType[] = await HeroModel.find({ roleId }).sort(sortParam).lean();
return heros; return heros;
} }