feat(好友): 展示阵容优化

This commit is contained in:
luying
2023-04-12 11:41:05 +08:00
parent 5a71e19f03
commit fdd06a5fe7
3 changed files with 26 additions and 16 deletions

View File

@@ -688,15 +688,22 @@ export class FriendHandler {
let result: PlayerDetail;
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
let dbHeroes = await HeroModel.findAndSortByCe(oppoRoleId);
let role = await RoleModel.findByRoleId(oppoRoleId, null, true);
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
let { topLineup, topLineupCe, towerLv, showLineup } = role;
let { topLineupCe, towerLv, showLineup } = role;
let heroes = new Array<PlayerDetailHero>();
for (let curHero of dbHeroes.slice(0, 18)) {
let hero = new PlayerDetailHero();
hero.setByDbHero(curHero);
heroes.push(hero);
}
if (showLineup && showLineup.length) { // 设置过展示阵容
result = new PlayerDetail(oppoRoleId, heroes);
if (showLineup) { // 设置过展示阵容
let heroes = new Array<PlayerDetailHero>();
for (let hid of showLineup) {
let curHero = dbHeroes.find(cur => cur.hid == hid);
if (curHero) {
@@ -705,22 +712,13 @@ export class FriendHandler {
heroes.push(hero);
}
}
} else {
for (let { hid } of topLineup) {
let curHero = dbHeroes.find(cur => cur.hid == hid);
if (curHero) {
let hero = new PlayerDetailHero();
hero.setByDbHero(curHero);
heroes.push(hero);
}
}
result.setShowLineup(heroes);
}
let ladder = await LadderMatchModel.findByRoleId(oppoRoleId);
result = new PlayerDetail(oppoRoleId, heroes);
result.setPlayer(role);
result.setCe(topLineupCe);
let ladder = await LadderMatchModel.findByRoleId(oppoRoleId);
result.setWarStar(role.warStar, ladder?.rank||0, towerLv - 1);
return resResult(STATUS.SUCCESS, result);