好友:修改查看武将
This commit is contained in:
@@ -627,28 +627,35 @@ export class FriendHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查看对象武将详细
|
// 查看对象武将详细
|
||||||
public async getHeroDetail(msg: { roleId: string, hid: number }, session: BackendSession) {
|
public async getHeroDetail(msg: { roleId: string, hids: number[] }, session: BackendSession) {
|
||||||
// let roleId: string = session.get('roleId');
|
// let roleId: string = session.get('roleId');
|
||||||
// let sid: string = session.get('sid');
|
// let sid: string = session.get('sid');
|
||||||
|
|
||||||
let { roleId: hisRoleId, hid } = msg;
|
let { roleId: hisRoleId, hids } = msg;
|
||||||
|
|
||||||
let role = await RoleModel.findByRoleId(hisRoleId, ROLE_SELECT.ATTR);
|
let role = await RoleModel.findByRoleId(hisRoleId, ROLE_SELECT.ATTR);
|
||||||
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||||
|
|
||||||
let hero = await HeroModel.findByHidAndRole(hid, hisRoleId, HERO_SELECT.HERO_DETAIL, true);
|
let heroList = await HeroModel.findByHidRange(hids, hisRoleId, HERO_SELECT.HERO_DETAIL, true);
|
||||||
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
|
if(heroList.length <= 0) return resResult(STATUS.HERO_NOT_FIND);
|
||||||
|
|
||||||
let { roleId, roleName, hName, ce, lv, star, colorStar, quality, job, skins } = hero;
|
let list = new Array();
|
||||||
let curSkin = skins.find(cur => cur.enable);
|
for(let {roleId, roleName, hid, hName, ce, lv, star, colorStar, quality, job, skins, ceAttr} of heroList) {
|
||||||
let equips = await EquipModel.findListByHidAndRole(hisRoleId, hid, EQUIP_SELECT.HERO_DETAIL);
|
|
||||||
|
|
||||||
let attributes = getPlayerMainAttribute(hero.ceAttr, role.globalCeAttr);
|
let curSkin = skins.find(cur => cur.enable);
|
||||||
|
let equips = await EquipModel.findListByHidAndRole(hisRoleId, hid, EQUIP_SELECT.HERO_DETAIL);
|
||||||
|
|
||||||
|
let attributes = getPlayerMainAttribute(ceAttr, role.globalCeAttr);
|
||||||
|
|
||||||
|
list.push({
|
||||||
|
roleId, roleName, hid, hName, ce, lv, star, colorStar, quality, job,
|
||||||
|
skin: curSkin?curSkin.id: 0, equips, attributes
|
||||||
|
});
|
||||||
|
|
||||||
return {
|
|
||||||
roleId, roleName, hid, hName, ce, lv, star, colorStar, quality, job,
|
|
||||||
skin: curSkin?curSkin.id: 0, equips, attributes
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return resResult(STATUS.SUCCESS, { list });
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -159,8 +159,8 @@ export default class Hero extends BaseModel {
|
|||||||
return hero;
|
return hero;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async findByHidRange(hids: Array<number>, roleId: string, lean = true) {
|
public static async findByHidRange(hids: Array<number>, roleId: string, select?: string, getters = false) {
|
||||||
const hero: HeroType[] = await HeroModel.find({ hid: {$in: hids}, roleId }).lean(lean);
|
const hero: HeroType[] = await HeroModel.find({ hid: {$in: hids}, roleId }).select(select).lean({ getters });
|
||||||
return hero;
|
return hero;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user