🐞 fix(gvg): 离开城池的路由错误

This commit is contained in:
luying
2023-03-09 11:02:28 +08:00
parent d2bef09390
commit 41decd4317
3 changed files with 17 additions and 12 deletions

View File

@@ -224,7 +224,7 @@ export class EntryHandler {
await leaveGVGAreaChannel(roleId, sid);
await leaveGVGAreaTeamChannel(roleId, sid);
await leaveGVGCityTeamChannel(roleId, sid);
await pinus.app.rpc.guild?.guildRemote.leaveCity.broadcast(true, roleId, serverId, guildCode);
await leaveCity(true, roleId, serverId, guildCode);
} catch(e) {
console.error(e.stack);
}

View File

@@ -8,11 +8,12 @@ import { setHiddenData } from '../../../services/dataService';
import { setKvToMemory } from '../../../services/pushService';
import { getGVGConfig, setGVGConfig, setGVGServerGroup } from '../../../services/gvg/gvgService';
import { GVGConfigType } from '../../../db/GVGConfig';
import { catapultHurt, gvgBattleEnd, gvgBattleSeconds, gvgBattleStart, initCatapult, leaveCity } from '../../../services/gvg/gvgBattleService';
import { catapultHurt, gvgBattleEnd, gvgBattleSeconds, gvgBattleStart, initCatapult, leaveCityMem } from '../../../services/gvg/gvgBattleService';
import { clearBattleMemory } from '../../../services/gvg/gvgBattleMemory';
import { GVGLeagueType } from '../../../db/GVGLeague';
import { updateLeagueNameMem, updateTeamRoleInfoMem } from '../../../services/gvg/gvgTeamService';
import { resetPeriodTime, setPeriodTime } from '../../../services/gvg/gvgFightService';
import { GVGTeamType } from '../../../db/GVGTeam';
export default function (app: Application) {
new HandlerService(app, {});
@@ -172,9 +173,9 @@ export class GuildRemote {
}
}
public async leaveCity(isForce: boolean, roleId: string, serverId: number, guildCode: string, myLeague?: GVGLeagueType) {
public async leaveCityMem(groupKey: string, roleId: string, teams: GVGTeamType[]) {
try {
return leaveCity(isForce, roleId, serverId, guildCode, myLeague);
return leaveCityMem(groupKey, roleId, teams);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}

View File

@@ -229,14 +229,18 @@ export async function leaveCity(isForce: boolean, roleId: string, serverId: numb
if(myLeague) await GVGUserDataModel.changeCity(configId, myLeague.leagueCode, roleId, 0);
await GVGCityAreaPointModel.playerLeave(configId, groupKey, roleId);
// 处理内存数据
let teamObj = getGVGBattleData(groupKey);
teamObj.leaveCity(roleId);
for(let team of teams) {
if(team.cityId > 0 && team.areaId > 0) {
await sendMessageToGVGAreaByTeamWithSuc(groupKey, team.areaId, PUSH_ROUTE.GVG_PLAYER_LEAVE_AREA, {
cityId: team.cityId, areaId: team.areaId, teamCode: team.teamCode
});
}
await pinus.app.rpc.guild.guildRemote.leaveCityMem.broadcast(groupKey, roleId, teams);
}
}
export async function leaveCityMem(groupKey: string, roleId: string, teams: GVGTeamType[]) {
let teamObj = getGVGBattleData(groupKey);
teamObj.leaveCity(roleId);
for(let team of teams) {
if(team.cityId > 0 && team.areaId > 0) {
await sendMessageToGVGAreaByTeamWithSuc(groupKey, team.areaId, PUSH_ROUTE.GVG_PLAYER_LEAVE_AREA, {
cityId: team.cityId, areaId: team.areaId, teamCode: team.teamCode
});
}
}
}