初始连接添加军团信息

This commit is contained in:
luying
2021-02-04 15:20:44 +08:00
parent aaeaf87324
commit 86c8cbc2f1
5 changed files with 40 additions and 13 deletions

View File

@@ -7,13 +7,16 @@ import { Application } from 'pinus';
import {FrontendSession} from 'pinus';
import { HeroModel } from './../../../db/Hero';
import { resResult, returnHeroCeRatio, reduceCe } from '../../../pubUtils/util';
import { COM_BTL_QUALITY } from '../../../consts';
import { COM_BTL_QUALITY, ROLE_SELECT, HERO_SELECT, GUILD_SELECT, USER_GUILD_SELECT } from '../../../consts';
import { getAp } from '../../../services/actionPointService';
import { ItemModel } from '../../../db/Item';
import { chackFunOpenWhenLogin } from '../../../services/funcSwitchService';
import { loginRefresh } from '../../../services/playerEventService';
import { nowSeconds } from '../../../pubUtils/timeUtil';
import { getRedis, setRedis, delRedis, rmRoleFromQueue } from '../../../services/redisService';
import { UserGuildModel } from '../../../db/UserGuild';
import { GuildModel } from '../../../db/Guild';
import { gameData } from '../../../pubUtils/data';
export default function (app: Application) {
return new EntryHandler(app);
@@ -39,7 +42,7 @@ export class EntryHandler {
return resResult(STATUS.TOKEN_ERR);
}
let role = await RoleModel.findByUid(user.uid, serverId);
let role = await RoleModel.findByUid(user.uid, serverId, ROLE_SELECT.ENTRY, true);
if (!role) {
return resResult(STATUS.ROLE_NOT_FOUND);
}
@@ -83,21 +86,35 @@ export class EntryHandler {
await self.app.rpc.chat.chatRemote.addWorldChannel.route(session)(role.roleId, serverId, self.app.get('serverId'));
await self.app.rpc.chat.guildRemote.enterMyChannel.route(session)(role.roleId, self.app.get('serverId'));
let heros = await HeroModel.findByRole(role.roleId);
let heros = await HeroModel.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true);
let equips = await EquipModel.findbyRole(role.roleId);
let items = await ItemModel.findbyRole(role.roleId);
await chackFunOpenWhenLogin(role, session);
await loginRefresh(role.roleId);
role['heros'] = heros.map(cur => returnHeroCeRatio(cur));
role['heros'] = heros;
role['equips'] = equips;
role['consumeGoods'] = items;
let apJson = await getAp(Date.now(), role.roleId);
role['apJson'] = apJson;
role['ce'] = reduceCe(role.ce);
role['topFiveCe'] = reduceCe(role.topFiveCe);
if(role.hasGuild) {
let userGuild = await UserGuildModel.getMyGuild(role.roleId, USER_GUILD_SELECT.ENTRY );
if(userGuild) {
let guild = await GuildModel.findGuild(userGuild.guildCode, role.serverId, GUILD_SELECT.ENTRY);
if(guild) {
role['guildAuth'] = userGuild.auth;
let {lv: guildLv, memberCnt} = guild;
let dicGuild = gameData.centerBase.get(guildLv);
if(dicGuild && memberCnt >= dicGuild.peopleNum) {
role['guildMemberMax'] = true;
} else {
role['guildMemberMax'] = false;
}
}
}
}
return resResult(STATUS.SUCCESS, { role });
}