feat(gvg): 组建期

This commit is contained in:
luying
2023-01-05 19:18:56 +08:00
parent 94c69089ac
commit 03fa74f3d1
50 changed files with 10354 additions and 38 deletions

View File

@@ -30,6 +30,8 @@ import { changeGuildActivity, guildDismisActivity, guildPayQuitGuild } from '../
import { sendMessageToUserWithSuc } from '../../../services/pushService';
import { GuildActiveModel } from '../../../db/GuildActive';
import { leaveRaceActivityToRemote, leaveRaceWhenDismissToRemote, leaveRaceWhenQuitGuildToRemote } from '../../../services/guildActivity/guildActivityService';
import { getGVGInfoInGuild } from '../../../services/gvg/gvgService';
import { guildAbdicateToLeague, guildDismissToLeague, memberQuitGuildToLeague } from '../../../services/gvg/gvgTeamService';
export default function (app: Application) {
@@ -174,7 +176,7 @@ export class GuildHandler {
const { code } = msg;
const select = ['code', 'name', 'notice', 'ceLimit', 'isAuto', 'icon', 'lv', 'memberCnt', 'guildCe'];
const guild = await GuildModel.findByCode(code, serverId, select.join(' '));
const guild = await GuildModel.findByCode(code, null, select.join(' '));
let leader = <RoleType>guild.leader;
delete guild.leader;
// 返回
@@ -199,7 +201,7 @@ export class GuildHandler {
}
// 管理员最大数 等策划表
let guild = await GuildModel.findByCode(code, serverId, 'managerCnt lv');
let guild = await GuildModel.findByCode(code, serverId, 'managerCnt lv leagueCode');
if (!guild) {
return resResult(STATUS.GUILD_NOT_FOUND);
}
@@ -235,6 +237,7 @@ export class GuildHandler {
await updateUserInfo(REDIS_KEY.GUILD_INFO, code, [{ field: 'leader', value: new GuildLeader(role) }]);
await RoleModel.updateRoleInfo(memberRoleId, { isGuildLeader: true });
await RoleModel.updateRoleInfo(roleId, { isGuildLeader: false });
await guildAbdicateToLeague(guild, roleId, role);
}
guild = await GuildModel.updateInfo(code, updateObject, { managerCnt: managerCntInc }, 'managerCnt code name'); // 如果有转让团长设置leader
@@ -274,13 +277,14 @@ export class GuildHandler {
return resResult(STATUS.SUCCESS, { hasGuild: false })
};
let guild = await GuildModel.findByCode(userGuild.guildCode, serverId);
let guild = await GuildModel.findByCode(userGuild.guildCode, serverId, '+serverId');
if (!guild) {
return resResult(STATUS.GUILD_NOT_FOUND);
}
let result = await getMyGuildInfo(roleId, sid, userGuild, guild, serverId, session);
return resResult(STATUS.SUCCESS, result);
let gvg = await getGVGInfoInGuild(guild);
return resResult(STATUS.SUCCESS, { ...result, gvg });
}
// 玩家申请公会
@@ -561,6 +565,7 @@ export class GuildHandler {
const { members } = guild;
await RoleModel.dissmissGuild(members);
await UserGuildApplyModel.deleteApplyByGuild(code);
await guildDismissToLeague(guild);
await this.app.rpc.connector.connectorRemote.setOtherUserGuildSession.broadcast(members.map(roleId => { return { roleId, userGuild: null } })); // 更新session
@@ -602,6 +607,7 @@ export class GuildHandler {
if (!guild) return resResult(STATUS.GUILD_QUIT_ERROR);
await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }])
await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'guildName', value: '' }]);
await memberQuitGuildToLeague(guild, role);
//删除排名信息
await removeBossRank(code, roleId);
@@ -637,7 +643,7 @@ export class GuildHandler {
if (!guild) return resResult(STATUS.GUILD_KICK_ERROR);
await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }])
await updateUserInfo(REDIS_KEY.USER_INFO, memberRoleId, [{ field: 'guildName', value: '' }]);
await memberQuitGuildToLeague(guild, role);
//删除排名信息
await removeBossRank(code, memberRoleId);