🐞 fix(gvg): 激战期有时areaId为0

This commit is contained in:
luying
2023-02-21 20:54:26 +08:00
parent 9ac146b4b6
commit f15670f158
6 changed files with 36 additions and 7 deletions

View File

@@ -61,7 +61,7 @@ export class GVGBattleHandler {
const serverId = session.get('serverId');
const roleName = session.get('roleName');
const guildCode = session.get('guildCode');
const { index, head, spine, frame, lineup } = msg;
const { cityId, index, head, spine, frame, lineup } = msg;
let { configId, period } = getGVGPeriodData();
// if (period != GVG_PERIOD.BATTLE) return resResult(STATUS.GVG_NOT_BATTLE_PERIOD); // TODO 测试临时注
@@ -99,11 +99,20 @@ export class GVGBattleHandler {
updateParam.lineup = newLineup;
updateParam.lineupCe = lineupCe;
}
let originTeam = await GVGTeamModel.findByRoleAndIndex(roleId, index, 'cityId');
if(!originTeam && cityId > 0) {
let city = await GVGCityModel.increaseTeam(configId, groupKey, cityId, roleId);
updateParam.cityId = cityId;
updateParam.areaId = getBirthAreaOfCity(city, leagueCode)
}
const team = await GVGTeamModel.saveTeam(roleId, index, updateParam, { roleName, serverId, leagueCode, leagueName, durability, maxDurability: durability });
if (!team) {
return resResult(STATUS.GVG_SAVE_TEAM_FAILED);
}
if(cityId > 0) {
let teamObj = getGVGBattleData(groupKey);
teamObj.enterCity(team);
}
return resResult(STATUS.SUCCESS, { curTeam: new MyTeamSimpleInfo(team) });
}
@@ -199,8 +208,7 @@ export class GVGBattleHandler {
gvgUserData = await GVGUserDataModel.changeCity(configId, myLeague.leagueCode, roleId, cityId);
let areaId = getBirthAreaOfCity(city, myLeague.leagueCode);
await GVGTeamModel.enterCity(roleId, cityId, areaId, groupKey);
teams = await GVGTeamModel.findByRole(roleId, '-_id');
teams = await GVGTeamModel.enterCity(roleId, cityId, areaId, groupKey);
// 更新内存队伍信息
let teamObj = getGVGBattleData(groupKey);
teamObj.enterCity(...teams);