🐞 fix(gvg): 联军信息变动同步

This commit is contained in:
luying
2023-02-27 21:21:29 +08:00
parent 1f04496865
commit a89692f4ef
11 changed files with 121 additions and 11 deletions

View File

@@ -1,10 +1,14 @@
// 和gvg组建期相关的方法
import { pinus } from "pinus";
import { GUILD_AUTH, GVG_APPLY_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, LEAGUE_AUTH, LEAGUE_MANAGE_TYPE, PUSH_ROUTE, REDIS_KEY, STATUS } from "../../consts";
import { GuildModel, GuildType } from "../../db/Guild";
import { GVGCityModel } from "../../db/GVGCity";
import { GVGCityAreaPointModel } from "../../db/GVGCityAreaPoint";
import { GVGLeagueModel, GVGLeagueType, GVGLeagueUpdate } from "../../db/GVGLeague";
import { GVGLeagueApplyModel, GVGLeagueApplyType } from "../../db/GVGLeagueApply";
import { GVGLeaguePrepareModel, GVGLeaguePrepareType } from "../../db/GVGLeaguePrepare";
import { GVGTeamModel } from "../../db/GVGTeam";
import { RoleType } from "../../db/Role";
import { UserGuildModel } from "../../db/UserGuild";
import { LeagueGuildInfo, LeagueListInfo } from "../../domain/gvgField/returnData";
@@ -14,8 +18,9 @@ import { getZeroPointD } from "../../pubUtils/timeUtil";
import { resResult } from "../../pubUtils/util";
import { sendMessageToUserWithSuc } from "../pushService";
import { updateUserInfo } from "../redisService";
import { getGVGBattleData } from "./gvgBattleMemory";
import { guildJoinLeagueRecord } from "./gvgRecService";
import { calLeagueCe, getCurPeriod, getGVGConfig, getGVGPeriodData, getGVGServerType } from "./gvgService";
import { calLeagueCe, getCurPeriod, getGroupKey, getGVGConfig, getGVGPeriodData, getGVGServerType } from "./gvgService";
/**
* 自动创建联军
@@ -230,4 +235,28 @@ export async function guildAbdicateToLeague(guild: GuildType, fromRoleId: string
if(!guild.leagueCode) return;
await GVGLeagueModel.abdicateGuild(guild.leagueCode, fromRoleId, toRole.roleId, toRole._id);
await updateUserInfo(REDIS_KEY.LEAGUE_INFO, guild.leagueCode, [{ field: 'leader', value: new LeagueLeader(toRole) }]);
}
export async function updateGVGBattleLeagueInfo(serverId: number, leagueCode: string, info: { leagueName?: string, icon?: number }) {
await GVGTeamModel.updateLeagueName(leagueCode, info.leagueName);
await GVGCityModel.updateLeagueInfo(leagueCode, info.leagueName, info.icon);
await GVGCityAreaPointModel.updateLeagueName(leagueCode, info.leagueName)
if(info.leagueName) await pinus.app.rpc.guild.guildRemote.updateLeagueNameMem.broadcast(serverId, leagueCode, info.leagueName);
}
export async function updateLeagueNameMem(serverId: number, leagueCode: string, leagueName: string ) {
let groupKey = await getGroupKey(serverId);
let teamObj = getGVGBattleData(groupKey);
teamObj.updateLeagueInfo(leagueCode, leagueName);
}
export async function updateGVGBattleRoleInfo(serverId: number, roleId: string, info: { roleName?: string, lv?: number }) {
await GVGTeamModel.updateRoleInfo(roleId, info);
await pinus.app.rpc.guild.guildRemote.updateTeamRoleInfoMem.broadcast(serverId, roleId, info);
}
export async function updateTeamRoleInfoMem(serverId: number, roleId: string, info: { roleName?: string, lv?: number } ) {
let groupKey = await getGroupKey(serverId);
let teamObj = getGVGBattleData(groupKey);
teamObj.updateRoleInfo(roleId, info);
}