好友:玩家武将详细信息

This commit is contained in:
luying
2021-02-04 13:57:21 +08:00
parent 50a472d8a5
commit aaeaf87324
21 changed files with 411 additions and 303 deletions

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession } from "pinus";
import { resResult, getRandEelm, getResStr, shouldRefresh } from "../../../pubUtils/util";
import { STATUS, ROLE, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID } from "../../../consts";
import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, EQUIP_SELECT } from "../../../consts";
import { RoleModel, RoleType } from "../../../db/Role";
import { getBeforeDaySeconds } from "../../../pubUtils/timeUtil";
import { FriendApplyModel } from "../../../db/FriendApply";
@@ -15,6 +15,9 @@ import { addItems, handleCost } from "../../../services/rewardService";
import { getFriendPointObject } from "../../../pubUtils/itemUtils";
import { RewardInter } from "../../../pubUtils/interface";
import { FriendPresentLogModel } from '../../../db/FriendPresentLog';
import { HeroModel } from "../../../db/Hero";
import { EquipModel } from "../../../db/Equip";
import { getPlayerMainAttribute } from "../../../services/pvpService";
export default function (app: Application) {
@@ -32,7 +35,7 @@ export class FriendHandler {
const day = getBeforeDaySeconds(1);
const { lv } = await RoleModel.findByRoleId(roleId, ROLE.GET_LV);
const { lv } = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_LV);
let allList = await RoleModel.getRecommedList(lv - 5, lv + 5, day);
let myFriendRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.NOT);
@@ -47,6 +50,7 @@ export class FriendHandler {
}
}
// TODO 修改,本服在前,其他服在后
let list = getRandEelm(paramAllList, 6);
if(!list.length) list = paramAllList;
@@ -78,7 +82,7 @@ export class FriendHandler {
let roleId: string = session.get('roleId');
let roleIds = msg.roleIds;
const role = await RoleModel.findByRoleId(roleId, ROLE.GET_ROLE_ID);
const role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_ROLE_ID);
let myFriendRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.NOT);
let str = '', resultRoleIds = new Array<string>();
@@ -353,7 +357,7 @@ export class FriendHandler {
}
let canSendList = sortByBeSentHeart(roleId, arr);
let {lv} = await RoleModel.findByRoleId(roleId, ROLE.GET_LV);
let {lv} = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_LV);
let dicFriendLv = gameData.roleFriend.get(lv);
if(!dicFriendLv) return resResult(STATUS.DIC_DATA_NOT_FOUND);
@@ -410,7 +414,7 @@ export class FriendHandler {
}
let canReceiveList = sortByBeSentHeart(roleId, arr);
let {lv} = await RoleModel.findByRoleId(roleId, ROLE.GET_LV);
let {lv} = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_LV);
let dicFriendLv = gameData.roleFriend.get(lv);
if(!dicFriendLv) return resResult(STATUS.DIC_DATA_NOT_FOUND);
@@ -450,7 +454,6 @@ export class FriendHandler {
})
}
// 赠送礼物
public async sendPresent(msg: { roleId: string, items: RewardInter[] }, session: BackendSession) {
let roleId: string = session.get('roleId');
@@ -489,6 +492,32 @@ export class FriendHandler {
return resResult(STATUS.SUCCESS, {
roleId: hisRoleId,
...result
})
});
}
// 查看对象武将详细
public async getHeroDetail(msg: { roleId: string, hid: number }, session: BackendSession) {
// let roleId: string = session.get('roleId');
// let sid: string = session.get('sid');
let { roleId: hisRoleId, hid } = msg;
let role = await RoleModel.findByRoleId(hisRoleId, ROLE_SELECT.ATTR);
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
let hero = await HeroModel.findByHidAndRole(hid, hisRoleId, HERO_SELECT.HERO_DETAIL, true);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let { roleId, roleName, hName, ce, lv, star, colorStar, quality, job, skins } = hero;
let curSkin = skins.find(cur => cur.enable);
let equips = await EquipModel.findListByHidAndRole(hisRoleId, hid, EQUIP_SELECT.HERO_DETAIL);
let attributes = getPlayerMainAttribute(hero.ceAttr, role.globalCeAttr);
return {
roleId, roleName, hid, hName, ce, lv, star, colorStar, quality, job,
skin: curSkin?curSkin.id: 0, equips, attributes
}
}
}