feat(gvgBattle): 补充进入城池返回值中的部分结构

This commit is contained in:
liangtongchuan
2023-02-11 22:57:58 +08:00
committed by luying
parent 17795e12e6
commit be8d6d576c
3 changed files with 39 additions and 13 deletions

View File

@@ -1,7 +1,7 @@
import { GVGCityType } from './../../../db/GVGCity';
import { GVGRecModel } from '../../../db/GVGRec';
import { LeagueGood } from '../../../domain/gvgField/returnData';
import { GVGTeamModel } from '../../../db/GVGTeam';
import { GVGTeamModel, GVGTeamType } from '../../../db/GVGTeam';
import { GVGUserDataModel } from '../../../db/GVGUserData';
import { GVGCityModel } from '../../../db/GVGCity';
import { Application, BackendSession, ChannelService, HandlerService } from "pinus";
@@ -120,6 +120,7 @@ export class GVGBattleHandler {
return resResult(STATUS.GVG_USER_NOT_FOUND);
}
let teams: GVGTeamType[] = [];
// 检测是否已经在城池中,玩家不在这个城池中时进行处理
if (gvgUserData.cityId !== cityId) {
if(gvgUserData.cityId > 0) { // 如果leaveCity没有退出成功玩家还遗留在上一座城中做一下处理
@@ -132,12 +133,23 @@ export class GVGBattleHandler {
// 更新内存队伍信息
let areaId = getBirthAreaOfCity(city, myLeague.leagueCode);
await GVGTeamModel.enterCity(roleId, cityId, areaId, groupId, serverType);
let teams = await GVGTeamModel.findByRole(roleId);
teams = await GVGTeamModel.findByRole(roleId);
let teamObj = getGVGBattleData(groupId, serverType);
teamObj.enterCity(teams);
}
return resResult(STATUS.SUCCESS, { city });
if (!teams || teams.length === 0) {
teams = await GVGTeamModel.findByRole(roleId);
}
const recs = await GVGRecModel.findByCity(cityId, configId);
return resResult(STATUS.SUCCESS, {
cityId,
ranks: [], // ! redis 中积分排行榜
recs,
teams,
});
}
// 离开城池