好友:修改好友展示阵容

This commit is contained in:
luying
2021-02-05 16:23:19 +08:00
parent 3222f4d3fb
commit e1e36275c0
3 changed files with 39 additions and 7 deletions

View File

@@ -420,7 +420,6 @@ export class PvpHandler {
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, oppoRoleId);//去redis中获取排名 let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, oppoRoleId);//去redis中获取排名
result = new PlayerDetail({...role, ...pvpDefense, heroes, rank}); result = new PlayerDetail({...role, ...pvpDefense, heroes, rank});
result.setWarStar(role.warStar);
} }
return resResult(STATUS.SUCCESS, result); return resResult(STATUS.SUCCESS, result);

View File

@@ -1,13 +1,13 @@
import { Application, BackendSession } from "pinus"; import { Application, BackendSession } from "pinus";
import { resResult, getRandEelm, getResStr, shouldRefresh } from "../../../pubUtils/util"; import { resResult, getRandEelm, getResStr, shouldRefresh } from "../../../pubUtils/util";
import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, EQUIP_SELECT } from "../../../consts"; import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, EQUIP_SELECT, REDIS_KEY } from "../../../consts";
import { RoleModel, RoleType } from "../../../db/Role"; import { RoleModel, RoleType } from "../../../db/Role";
import { getBeforeHourSeconds } from "../../../pubUtils/timeUtil"; import { getBeforeHourSeconds } from "../../../pubUtils/timeUtil";
import { FriendApplyModel } from "../../../db/FriendApply"; import { FriendApplyModel } from "../../../db/FriendApply";
import { FriendApplyParams, FriendListParam, FriendRecommendParams, BlackListParam, FriendValueListParam } from "../../../domain/roleField/friend"; import { FriendApplyParams, FriendListParam, FriendRecommendParams, BlackListParam, FriendValueListParam } from "../../../domain/roleField/friend";
import { FriendShipModel, FriendShipType } from "../../../db/FriendShip"; import { FriendShipModel, FriendShipType } from "../../../db/FriendShip";
import { FriendRelationModel, Relation } from "../../../db/FriendRelation"; import { FriendRelationModel, Relation } from "../../../db/FriendRelation";
import { isRoleOnline, getServerName } from "../../../services/redisService"; import { isRoleOnline, getServerName, getMyRank } from "../../../services/redisService";
import { increaseFrdCnt, getRecommendType, sortByBeSentHeart } from "../../../services/friendService"; import { increaseFrdCnt, getRecommendType, sortByBeSentHeart } from "../../../services/friendService";
import { FriendPointModel } from "../../../db/FriendPoint"; import { FriendPointModel } from "../../../db/FriendPoint";
import { gameData } from "../../../pubUtils/data"; import { gameData } from "../../../pubUtils/data";
@@ -19,6 +19,8 @@ import { HeroModel } from "../../../db/Hero";
import { EquipModel } from "../../../db/Equip"; import { EquipModel } from "../../../db/Equip";
import { getPlayerMainAttribute } from "../../../services/pvpService"; import { getPlayerMainAttribute } from "../../../services/pvpService";
import { FRIEND } from "../../../pubUtils/dicParam"; import { FRIEND } from "../../../pubUtils/dicParam";
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
import { PvpDefenseModel } from "../../../db/PvpDefense";
export default function (app: Application) { export default function (app: Application) {
@@ -572,6 +574,35 @@ export class FriendHandler {
}); });
} }
async getPlayerDetail(msg: { roleId: string }, session: BackendSession) {
// let roleId = session.get('roleId');
let { roleId: oppoRoleId } = msg;
let result: PlayerDetail;
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
let role = await RoleModel.findByRoleId(oppoRoleId, null, true);
let { topFive } = role;
let heroes = new Array<PlayerDetailHero>();
for(let {hid, lv, star, colorStar, quality } of dbHeroes) {
let hasHero = topFive.find(cur => cur.hid == hid);
if(hasHero) {
heroes.push({
actorId: hid, lv, star, colorStar, quality,
score: 0
});
}
}
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, oppoRoleId);//去redis中获取排名
result = new PlayerDetail({...role, heroes});
result.setWarStar(role.warStar, rank);
return resResult(STATUS.SUCCESS, result);
}
// 查看对象武将详细 // 查看对象武将详细
public async getHeroDetail(msg: { roleId: string, hid: number }, session: BackendSession) { public async getHeroDetail(msg: { roleId: string, hid: number }, session: BackendSession) {
// let roleId: string = session.get('roleId'); // let roleId: string = session.get('roleId');

View File

@@ -25,8 +25,9 @@ class PlayerDetailBattle {
main: number = 0; main: number = 0;
tower: number = 0; tower: number = 0;
dungeon: number = 0; dungeon: number = 0;
pvp: number = 0;
constructor(warStar: WarStar[]) { constructor(warStar: WarStar[], pvp: number) {
for(let { id, warType } of warStar) { for(let { id, warType } of warStar) {
if(warType == WAR_TYPE.NORMAL) { if(warType == WAR_TYPE.NORMAL) {
if(id > this.main) this.main = id; if(id > this.main) this.main = id;
@@ -36,6 +37,7 @@ class PlayerDetailBattle {
if(id > this.dungeon) this.dungeon = id; if(id > this.dungeon) this.dungeon = id;
} }
} }
this.pvp = pvp;
} }
} }
@@ -54,7 +56,7 @@ export class PlayerDetail {
heroes: PlayerDetailHero[]; heroes: PlayerDetailHero[];
rank?:number = 0; rank?:number = 0;
battle?: PlayerDetailBattle = new PlayerDetailBattle([]); battle?: PlayerDetailBattle = new PlayerDetailBattle([], 0);
constructor(detail: PlayerDetail) { constructor(detail: PlayerDetail) {
if(detail.roleId) this.roleId = detail.roleId; if(detail.roleId) this.roleId = detail.roleId;
@@ -70,8 +72,8 @@ export class PlayerDetail {
if(detail.rank) this.rank = detail.rank; if(detail.rank) this.rank = detail.rank;
} }
setWarStar?(warStar: WarStar[]) { setWarStar?(warStar: WarStar[], pvp: number) {
this.battle = new PlayerDetailBattle(warStar); this.battle = new PlayerDetailBattle(warStar, pvp);
} }
} }