🐞 fix(gvg): 激战期有时areaId为0
This commit is contained in:
@@ -59,6 +59,12 @@ export default class GVGCity extends BaseModel {
|
||||
return city;
|
||||
}
|
||||
|
||||
// 添加人数
|
||||
public static async increaseTeam(configId: number, groupKey: string, cityId: number, roleId: string) {
|
||||
const city: GVGCityType = await GVGCityModel.findOneAndUpdate({ configId, groupKey, cityId, 'players.roleId': roleId }, { $inc: { 'players.$.teamCnt': 1 }}, { new: true }).lean();
|
||||
return city;
|
||||
}
|
||||
|
||||
// 查询联军驻守情况
|
||||
public static async findGuardCityByLeague(configId: number, leagueCode: string, select = '') {
|
||||
const cities: GVGCityType[] = await GVGCityModel.find({ configId, guardLeague: leagueCode, hasGuard: true }).select(select).lean();
|
||||
|
||||
@@ -134,8 +134,13 @@ export default class GVGTeam extends BaseModel {
|
||||
|
||||
// 玩家切换城池更新队伍信息
|
||||
public static async enterCity(roleId: string, cityId: number, areaId: number, groupKey: string) {
|
||||
const res = await GVGTeamModel.updateMany({ roleId }, { cityId, areaId, fromAreaId: areaId, pointId: 0, groupKey }).lean();
|
||||
return !!res['ok'];
|
||||
let teams = await GVGTeamModel.findByRole(roleId, '-_id')
|
||||
let result: GVGTeamType[] = [];
|
||||
for(let targetTeam of teams) {
|
||||
let team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ teamCode: targetTeam.teamCode }, { $set: { cityId, areaId, fromAreaId: areaId, pointId: 0, groupKey } }, { new: true }).lean();
|
||||
result.push(team);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// 查找角色队伍数
|
||||
@@ -150,6 +155,12 @@ export default class GVGTeam extends BaseModel {
|
||||
return teams;
|
||||
}
|
||||
|
||||
// 获取我的编队
|
||||
public static async findByRoleAndIndex(roleId: string, index: number, select = '') {
|
||||
const teams: GVGTeamType = await GVGTeamModel.findOne({ roleId, index }).select(select).lean();
|
||||
return teams;
|
||||
}
|
||||
|
||||
// 获取某个玩家的某个的编队
|
||||
public static async findMyTeamByCode(roleId: string, teamCode: string, select = '') {
|
||||
const res: GVGTeamType = await GVGTeamModel.findOne({ roleId, teamCode }).select(select).lean();
|
||||
|
||||
@@ -251,6 +251,7 @@ export class OppDetailData{
|
||||
}
|
||||
|
||||
export interface SaveTeamParam {
|
||||
cityId: number;
|
||||
index: number;
|
||||
head: number;
|
||||
frame: number;
|
||||
@@ -267,6 +268,8 @@ export interface SaveTeamUpdateParam {
|
||||
groupKey: string;
|
||||
lineup?: GVGHeroInfo[];
|
||||
lineupCe?: number;
|
||||
cityId?: number;
|
||||
areaId?: number;
|
||||
}
|
||||
|
||||
export interface InitTeamParam {
|
||||
|
||||
@@ -15,6 +15,6 @@
|
||||
"periodType": 3,
|
||||
"day": "6&",
|
||||
"startTime": "17:00:00",
|
||||
"endTime": "20:00:00"
|
||||
"endTime": "22:00:00"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user