diff --git a/game-server/app/services/gvg/gvgBattleService.ts b/game-server/app/services/gvg/gvgBattleService.ts index dab639cbb..c1da7cd07 100644 --- a/game-server/app/services/gvg/gvgBattleService.ts +++ b/game-server/app/services/gvg/gvgBattleService.ts @@ -190,6 +190,7 @@ export async function leaveCity(isForce: boolean, roleId: string, serverId: numb await GVGTeamModel.leaveCity(roleId); await GVGCityModel.decreasePlayer(configId, groupKey, roleId); await GVGUserDataModel.changeCity(configId, myLeague.leagueCode, roleId, 0); + await GVGCityAreaPointModel.playerLeave(configId, groupKey, roleId); // 处理内存数据 let teamObj = getGVGBattleData(groupKey); teamObj.leaveCity(roleId); diff --git a/shared/db/GVGCityAreaPoint.ts b/shared/db/GVGCityAreaPoint.ts index 115d3d0d0..f3a96e48f 100644 --- a/shared/db/GVGCityAreaPoint.ts +++ b/shared/db/GVGCityAreaPoint.ts @@ -50,6 +50,10 @@ export default class GVGCityAreaPoint extends BaseModel { return result; } + public static async playerLeave(configId: number, groupKey: string, roleId: string) { + await GVGCityAreaPointModel.updateMany({ configId, groupKey, roleId }, { $set: { teamCode: '', roleId: '', roleName: '', leagueCode: '', leagueName: '' }}); + } + public static async findByConfig(configId: number, groupKey: string) { let result: GVGCityAreaPointType[] = await GVGCityAreaPointModel.find({ configId, groupKey }).lean(); return result