🐞 fix(gvg): 修复联军组建期相关的一些问题
This commit is contained in:
@@ -2,7 +2,6 @@ import { Application, BackendSession, ChannelService, HandlerService } from "pin
|
||||
import { CHANNEL_PREFIX, GUILD_AUTH, GVG_APPLY_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, LEAGUE_AUTH, LEAGUE_MANAGE_TYPE, MAIL_TYPE, MSG_SOURCE, MSG_TYPE, PUSH_ROUTE, REDIS_KEY, STATUS } from "../../../consts";
|
||||
import { resResult } from "../../../pubUtils/util";
|
||||
import { GuildModel, GuildType } from "../../../db/Guild";
|
||||
import { UserGuildModel } from "../../../db/UserGuild";
|
||||
import { GVGLeagueModel, GVGLeagueType } from "../../../db/GVGLeague";
|
||||
import { GVGLeagueApplyModel } from "../../../db/GVGLeagueApply";
|
||||
import { calLeagueCe, getGroupIdOfServer, getGVGConfig, getGVGPeriodData, getGVGServerType, getServersOfSameGroup } from "../../../services/gvg/gvgService";
|
||||
@@ -50,6 +49,7 @@ export class GVGManageHandler {
|
||||
if(league) return resResult(STATUS.GVG_LEAGUE_HAS_EXIST);
|
||||
|
||||
const newLeague = await createLeague(guild, { name, icon, notice });
|
||||
await GVGLeagueApplyModel.deleteByGuild(guildCode);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
leagueCode: newLeague.leagueCode,
|
||||
@@ -95,9 +95,14 @@ export class GVGManageHandler {
|
||||
let hasApply = await GVGLeagueApplyModel.checkApply(leagueCode, guildCode, GVG_APPLY_TYPE.APPLY);
|
||||
result.setHasApply(hasApply);
|
||||
|
||||
let { configId } = getGVGConfig();
|
||||
// TODO 占领城池
|
||||
const cities = await getGVGCities(league);
|
||||
result.setCities(cities);
|
||||
result.setLeagueCe(await calLeagueCe(league));
|
||||
|
||||
const leaguePrepare = await GVGLeaguePrepareModel.findByLeague(configId, leagueCode);
|
||||
if(leaguePrepare) result.setLv(leaguePrepare.lv);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
league: result
|
||||
@@ -179,7 +184,7 @@ export class GVGManageHandler {
|
||||
let result = await joinGuildToLeague(myLeague, targetGuildCode);
|
||||
if(result.code == 0) {
|
||||
myLeague = <GVGLeagueType>result.data;
|
||||
await GVGLeagueApplyModel.deleteAllGuildApply(targetGuildCode);
|
||||
await GVGLeagueApplyModel.deleteByGuild(targetGuildCode);
|
||||
} else {
|
||||
await GVGLeagueApplyModel.deleteApply(targetGuildCode, myLeague.leagueCode);
|
||||
return result;
|
||||
@@ -304,7 +309,7 @@ export class GVGManageHandler {
|
||||
let result = await joinGuildToLeague(league, guildCode);
|
||||
if(result.code == 0) {
|
||||
hasLeague = true;
|
||||
await GVGLeagueApplyModel.deleteAllGuildApply(guildCode);
|
||||
await GVGLeagueApplyModel.deleteByGuild(guildCode);
|
||||
} else {
|
||||
await GVGLeagueApplyModel.deleteInvite(guildCode, league.leagueCode);
|
||||
return result;
|
||||
@@ -339,7 +344,7 @@ export class GVGManageHandler {
|
||||
let active = userdatas.reduce((pre, userdata) => {
|
||||
let member = members.find(cur => cur.roleId == userdata.roleId);
|
||||
if(member && member.guildCode == guild.code) {
|
||||
return pre + userdata.active;
|
||||
return pre + (userdata.active||0);
|
||||
}
|
||||
return pre;
|
||||
}, 0);
|
||||
@@ -482,6 +487,7 @@ export class GVGManageHandler {
|
||||
await GuildModel.dissmissLeague(targetLeagueCode);
|
||||
// 更新联军信息
|
||||
await GVGLeagueModel.dismiss(myLeague.leagueCode);
|
||||
await GVGLeagueApplyModel.deleteByLeague(myLeague.leagueCode);
|
||||
// 发送消息
|
||||
for(let guildCode of myLeague.guildCodes) {
|
||||
await sendMessageToGuildWithSuc(guildCode, PUSH_ROUTE.LEAGUE_DISSMISS, { leagueCode: myLeague.leagueCode });
|
||||
|
||||
Reference in New Issue
Block a user