🐞 fix(gvg): 修复守城联军自动解散和手动解散守城

This commit is contained in:
luying
2023-03-02 14:13:22 +08:00
parent 1bb47dd958
commit 42addd572b
5 changed files with 17 additions and 5 deletions

View File

@@ -32,6 +32,7 @@ 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';
import { leaveCity } from '../../../services/gvg/gvgBattleService';
export default function (app: Application) {
@@ -624,6 +625,7 @@ export class GuildHandler {
changeGuildActivity('', serverId, roleId, sid);
leaveRaceWhenQuitGuildToRemote(serverId, guildCode, roleId);
guildPayQuitGuild(serverId, code, roleId);
leaveCity(true, roleId, serverId, guildCode);
return resResult(STATUS.SUCCESS, { hasGuild: role.hasGuild });
}
@@ -665,6 +667,7 @@ export class GuildHandler {
reportTAEvent(memberRoleId, TA_EVENT.GUILD_QUIT, { name: guild.name, way: GUILD_QUIT_WAY.KICK });
leaveRaceWhenQuitGuildToRemote(serverId, code, memberRoleId);
guildPayQuitGuild(serverId, code, memberRoleId);
leaveCity(true, memberRoleId, serverId, code);
return resResult(STATUS.SUCCESS, { memberCnt: guild.memberCnt });
}

View File

@@ -4,7 +4,7 @@ import { resResult } from "../../../pubUtils/util";
import { GuildModel, GuildType } from "../../../db/Guild";
import { GVGLeagueModel, GVGLeagueType } from "../../../db/GVGLeague";
import { GVGLeagueApplyModel } from "../../../db/GVGLeagueApply";
import { calLeagueCe, getGroupIdOfServer, getGVGConfig, getGVGPeriodData, getGVGServerType, getServersOfSameGroup } from "../../../services/gvg/gvgService";
import { calLeagueCe, getGroupIdOfServer, getGroupKey, getGVGConfig, getGVGPeriodData, getGVGServerType, getServersOfSameGroup } from "../../../services/gvg/gvgService";
import { checkCanManage, checkGuildLeader, checkLeagueAuth, createLeague, getLeagueApplyData, getLeagueInviteData, getMyAuth, joinGuildToLeague, updateGVGBattleLeagueInfo } from "../../../services/gvg/gvgTeamService";
import { LeagueGuildInfo, LeagueListInfo, LeagueMemberListInfo, LeagueSimpleInfo } from "../../../domain/gvgField/returnData";
import { getAllServerName, getServerName, isRoleOnline, updateUserInfo } from "../../../services/redisService";
@@ -18,6 +18,7 @@ import { sendMailByContent, sendMailToGuildByContent, sendMailToLeagueByContent
import { getGVGCities } from "../../../services/gvg/gvgBattleService";
import { addLeagueRenameRecord, changeNoticeMessage, guildQuitLeagueRecord } from "../../../services/gvg/gvgRecService";
import { LeagueLeader } from "../../../domain/rank";
import GVGCity from "../../../db/GVGCity";
export default function (app: Application) {
new HandlerService(app, {});
@@ -479,6 +480,9 @@ export class GVGManageHandler {
const guildCode = session.get('guildCode');
const { leagueCode: targetLeagueCode } = msg;
const { configId, period } = getGVGPeriodData();
if(period != GVG_PERIOD.TEAM) return resResult(STATUS.GVG_NOT_TEAM_PERIOD);
const groupKey = await getGroupKey(serverId);
const checkResult = await checkCanManage(serverId);
if(checkResult.code != 0) return checkResult;
@@ -501,6 +505,7 @@ export class GVGManageHandler {
await sendMessageToGuildWithSuc(guildCode, PUSH_ROUTE.LEAGUE_DISSMISS, { leagueCode: myLeague.leagueCode });
await sendMailToGuildByContent(MAIL_TYPE.LEAGUE_DISSMISS, guildCode, { params: [ myLeague.name ]});
}
await GVGCity.leagueDismiss(configId, groupKey, targetLeagueCode);
// 返回
return resResult(STATUS.SUCCESS, {