✨ feat(pvp): 巅峰演武战区化
This commit is contained in:
@@ -29,6 +29,7 @@ import { PVPConfigModel } from '../../../db/PvpConfig';
|
||||
import { getAllServerName, getServerName } from '../../../services/redisService';
|
||||
import { RoleRankInfo } from '../../../domain/rank';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
import { getPVPGroupIdOfServer } from '../../../services/serverService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -42,6 +43,7 @@ export class PvpHandler {
|
||||
//1获取主界面
|
||||
async getData(msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId');
|
||||
|
||||
let seasonNum: number = this.app.get('pvpSeasonNum');
|
||||
let seasonStartTime: number = this.app.get('pvpSeasonStartTime');
|
||||
@@ -90,8 +92,9 @@ export class PvpHandler {
|
||||
result.setPvpSeasonResult(pvpSeasonResult);
|
||||
await PvpSeasonResultModel.setShow(roleId);
|
||||
}
|
||||
// 拍卖
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum });
|
||||
// 排行榜
|
||||
let groupId = await getPVPGroupIdOfServer(serverId);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId });
|
||||
let myRank = await r.getMyRank({ roleId });//去redis中获取排名
|
||||
result.setMyRank(myRank);
|
||||
|
||||
@@ -285,7 +288,8 @@ export class PvpHandler {
|
||||
|
||||
if(seasonNum == pvpSeasonNum) {
|
||||
// 加入排行榜
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum: pvpSeasonNum });
|
||||
let groupId = await getPVPGroupIdOfServer(serverId);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum: pvpSeasonNum, groupId });
|
||||
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
|
||||
let myRank = await r.getMyRank({ roleId });
|
||||
result.setMyRank(myRank);
|
||||
@@ -482,6 +486,7 @@ export class PvpHandler {
|
||||
async getRank(msg: {}, session: BackendSession) {
|
||||
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId');
|
||||
|
||||
let seasonNum: number = this.app.get('pvpSeasonNum');
|
||||
if(checkPvpSeasonIsWaiting()) { // 休赛期
|
||||
@@ -489,7 +494,8 @@ export class PvpHandler {
|
||||
}
|
||||
|
||||
let serverNames = await getAllServerName();
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum });
|
||||
let groupId = await getPVPGroupIdOfServer(serverId);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId });
|
||||
r.setGenerFieldsFun(function (param: RoleRankInfo) {
|
||||
let { serverId } = param;
|
||||
return { ...param, serverName: serverNames[serverId]||'无' };
|
||||
@@ -557,7 +563,8 @@ export class PvpHandler {
|
||||
}
|
||||
heroes.sort((a, b) => b.score - a.score);
|
||||
let seasonNum: number = this.app.get('pvpSeasonNum');
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum });
|
||||
let groupId = await getPVPGroupIdOfServer(serverId);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId });
|
||||
let rank = await r.getMyRank({ roleId: oppoRoleId });//去redis中获取排名
|
||||
|
||||
result = new PlayerDetail(oppoRoleId, heroes, rank);
|
||||
@@ -657,7 +664,8 @@ export class PvpHandler {
|
||||
|
||||
// 加入排行榜
|
||||
let seasonNum: number = this.app.get('pvpSeasonNum');
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum });
|
||||
let groupId = await getPVPGroupIdOfServer(serverId);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId });
|
||||
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
|
||||
|
||||
// 任务
|
||||
|
||||
@@ -4,8 +4,10 @@ import { reloadResources } from '../../../pubUtils/data';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
|
||||
import { setServerGroup } from '../../../services/serverService';
|
||||
import { savePvpSeasonMemory } from '../../../services/log/memoryLogService';
|
||||
import { setKvToMemory } from '../../../services/pushService';
|
||||
import { getPvpTime } from '../../../services/pvpService';
|
||||
import { taflush } from '../../../services/sdkService';
|
||||
import { setPvpSeasonNum, setPvpSettleSeasonNum } from '../../../services/timeTaskService';
|
||||
import { errlogger } from '../../../util/logger';
|
||||
@@ -109,6 +111,13 @@ export class BattleRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async getPvpTime() {
|
||||
try {
|
||||
return getPvpTime();
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public setServerMainten(serverIds: number[], startTime: number, endTime: number) {
|
||||
try {
|
||||
@@ -173,4 +182,12 @@ export class BattleRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setServerGroup() {
|
||||
try {
|
||||
return setServerGroup();
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ import { checkTask } from '../../../services/task/taskService';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { getFriendRelationType } from '../../../services/friendService';
|
||||
import { GVGLeagueModel } from '../../../db/GVGLeague';
|
||||
import { getGroupIdOfServer } from '../../../services/gvg/gvgService';
|
||||
import { getGVGGroupIdOfServer } from '../../../services/serverService';
|
||||
import { getGuildCodeString } from '../../../services/gvg/gvgRecService';
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ export class ChatHandler {
|
||||
if (channel === CHANNEL_PREFIX.WORLD) channelId = `${serverId}`;
|
||||
if (channel === CHANNEL_PREFIX.GUILD) channelId = guildCode;
|
||||
if (channel === CHANNEL_PREFIX.GVG) {
|
||||
let groupId = await getGroupIdOfServer(serverId);
|
||||
let groupId = await getGVGGroupIdOfServer(serverId);
|
||||
channelId = `${groupId}`;
|
||||
}
|
||||
if (channel == CHANNEL_PREFIX.LEAGUE) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import { errlogger } from '../../../util/logger';
|
||||
import { addUserToChannel, sendMessageToChannel, sendMessgeToChannelByBatch, setKvToMemory } from '../../../services/pushService';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { setGVGServerGroup } from '../../../services/gvg/gvgService';
|
||||
import { setServerGroup } from '../../../services/serverService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -175,9 +175,9 @@ export class ChatRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async setGVGServerGroup() {
|
||||
public async setServerGroup() {
|
||||
try {
|
||||
return setGVGServerGroup();
|
||||
return setServerGroup();
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setPvpSeasonNum, setPvpSettleSeasonNum } from '../../../services/timeTaskService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { setKvToMemory } from '../../../services/pushService';
|
||||
import { setGVGServerGroup } from '../../../services/gvg/gvgService';
|
||||
import { setServerGroup } from '../../../services/serverService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -204,9 +204,9 @@ export class ConnectorRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async setGVGServerGroup() {
|
||||
public async setServerGroup() {
|
||||
try {
|
||||
return setGVGServerGroup();
|
||||
return setServerGroup();
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
|
||||
@@ -18,11 +18,12 @@ import { sendMessageToAllWithSuc } from '../../../services/pushService';
|
||||
import { sendMailByContent, sendMailsByGmMail } from '../../../services/mailService';
|
||||
import { saveMemory } from '../../../services/log/memoryLogService';
|
||||
import { getGVGConfigFromRemote } from '../../../services/gvg/gvgService';
|
||||
import { GVGServerGroupModel } from '../../../db/GVGServerGroup';
|
||||
import { ServerGroupModel } from '../../../db/ServerGroup';
|
||||
import { isNumber } from 'underscore';
|
||||
import { group } from 'console';
|
||||
import { GVGConfigModel } from '../../../db/GVGConfig';
|
||||
import { ServerlistModel } from '../../../db/Serverlist';
|
||||
import { getPvpTimeFromRemote } from '../../../services/pvpService';
|
||||
|
||||
let timer: NodeJS.Timer;
|
||||
export default function (app: Application) {
|
||||
@@ -299,15 +300,17 @@ export class GmHandler {
|
||||
if(!isNumber(serverId)) return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
let { scheduleTime } = await getGVGConfigFromRemote();
|
||||
let { seasonEndTime = 0 } = await getPvpTimeFromRemote();
|
||||
for(let serverId of serverIds) {
|
||||
await GVGServerGroupModel.updateByServerId(serverId, groupId, scheduleTime);
|
||||
await ServerGroupModel.updateByServerId(serverId, groupId, scheduleTime, seasonEndTime);
|
||||
}
|
||||
|
||||
try {
|
||||
await pinus.app.rpc.guild.guildRemote.setGVGServerGroup.broadcast();
|
||||
await pinus.app.rpc.chat.chatRemote.setGVGServerGroup.broadcast();
|
||||
await pinus.app.rpc.connector.connectorRemote.setGVGServerGroup.broadcast();
|
||||
await pinus.app.rpc.gm.gmRemote.setGVGServerGroup.broadcast();
|
||||
await pinus.app.rpc.systimer.systimerRemote.setGVGServerGroup.broadcast();
|
||||
await pinus.app.rpc.guild.guildRemote.setServerGroup.broadcast();
|
||||
await pinus.app.rpc.chat.chatRemote.setServerGroup.broadcast();
|
||||
await pinus.app.rpc.connector.connectorRemote.setServerGroup.broadcast();
|
||||
await pinus.app.rpc.gm.gmRemote.setServerGroup.broadcast();
|
||||
await pinus.app.rpc.systimer.systimerRemote.setServerGroup.broadcast();
|
||||
} catch(e) {
|
||||
console.log('remote未初始完');
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Application, ChannelService, HandlerService, } from 'pinus';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { setGVGServerGroup } from '../../../services/gvg/gvgService';
|
||||
import { setServerGroup } from '../../../services/serverService';
|
||||
import { errlogger } from '../../../util/logger';
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -37,9 +37,9 @@ export class GMRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async setGVGServerGroup() {
|
||||
public async setServerGroup() {
|
||||
try {
|
||||
await setGVGServerGroup();
|
||||
await setServerGroup();
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import { GVGLeagueModel } from "../../../db/GVGLeague";
|
||||
import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
||||
import { GuardCityInfoPage, GVGMainData, LeagueContributeInfo, LeagueMemberContributeInfo, LeagueRankInInfoPage } from "../../../domain/gvgField/returnData";
|
||||
import { getRandEelm, resResult } from "../../../pubUtils/util";
|
||||
import { calLeagueCe, getGroupIdOfServer, getGroupKey, getGVGConfig, getGVGPeriodData, getGVGServerType, getServerTypeByTime } from "../../../services/gvg/gvgService";
|
||||
import { calLeagueCe, getGroupKey, getGVGConfig, getGVGPeriodData, getGVGServerType, getServerTypeByTime } from "../../../services/gvg/gvgService";
|
||||
import { autoCreateLeague, checkCanChooseJob, checkCanPrepare, checkLeagueAuth, getMyAuth } from "../../../services/gvg/gvgTeamService";
|
||||
import { getAllServerName } from "../../../services/redisService";
|
||||
import { Contribute, GVGUserDataModel } from "../../../db/GVGUserData";
|
||||
|
||||
@@ -4,7 +4,7 @@ import { resResult } from "../../../pubUtils/util";
|
||||
import { GuildModel, GuildType } from "../../../db/Guild";
|
||||
import { GVGLeagueModel, GVGLeagueType } from "../../../db/GVGLeague";
|
||||
import { GVGLeagueApplyModel } from "../../../db/GVGLeagueApply";
|
||||
import { calLeagueCe, getGroupIdOfServer, getGroupKey, getGVGConfig, getGVGPeriodData, getGVGServerType, getServersOfSameGroup } from "../../../services/gvg/gvgService";
|
||||
import { calLeagueCe, getGroupKey, getGVGConfig, getGVGPeriodData, getGVGServerType } from "../../../services/gvg/gvgService";
|
||||
import { checkCanManage, checkGuildLeader, checkLeagueAuth, createLeague, getLeagueApplyData, getLeagueInviteData, getMyAuth, joinGuildToLeague, updateGVGBattleLeagueInfo } from "../../../services/gvg/gvgTeamService";
|
||||
import { LeagueGuildInfo, LeagueListInfo, LeagueMemberListInfo, LeagueSimpleInfo } from "../../../domain/gvgField/returnData";
|
||||
import { getAllServerName, getServerName, isRoleOnline, updateUserInfo } from "../../../services/redisService";
|
||||
@@ -19,6 +19,7 @@ import { getGVGCities } from "../../../services/gvg/gvgBattleService";
|
||||
import { addLeagueRenameRecord, changeNoticeMessage, guildQuitLeagueRecord } from "../../../services/gvg/gvgRecService";
|
||||
import { LeagueLeader } from "../../../domain/rank";
|
||||
import GVGCity from "../../../db/GVGCity";
|
||||
import { getGVGGroupIdOfServer, getGVGServersOfSameGroup } from "../../../services/serverService";
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -70,7 +71,7 @@ export class GVGManageHandler {
|
||||
if(serverType == GVG_SERVER_TYPE.NO) return resResult(STATUS.GVG_NO_SERVER_TYPE);
|
||||
|
||||
const serverNames = await getAllServerName();
|
||||
let serverIds = await getServersOfSameGroup(serverType, serverId);
|
||||
let serverIds = await getGVGServersOfSameGroup(serverType, serverId);
|
||||
const leagues = await GVGLeagueModel.findByCondition(serverType, serverIds, page, name);
|
||||
const applies = await GVGLeagueApplyModel.findApplyFromGuild(guildCode);
|
||||
let result: LeagueListInfo[] = [];
|
||||
@@ -220,7 +221,7 @@ export class GVGManageHandler {
|
||||
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
|
||||
|
||||
const invitations = await GVGLeagueApplyModel.findInviteFromLeague(myLeague.leagueCode);
|
||||
const serverIds = await getServersOfSameGroup(serverType, serverId);
|
||||
const serverIds = await getGVGServersOfSameGroup(serverType, serverId);
|
||||
const serverNames = await getAllServerName();
|
||||
const guilds = await GuildModel.findGuildsForGVG(page, name, serverIds);
|
||||
let result = guilds.map(guild => {
|
||||
@@ -678,7 +679,7 @@ export class GVGManageHandler {
|
||||
if(!checkAuth) return resResult(STATUS.GVG_HAS_NO_AUTH);
|
||||
|
||||
// 发送战区频道消息
|
||||
const groupId = await getGroupIdOfServer(serverId);
|
||||
const groupId = await getGVGGroupIdOfServer(serverId);
|
||||
let channelId = `${groupId}`;
|
||||
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.GVG, channelId, MSG_TYPE.RICH_TEXT, MSG_SOURCE.GVG_RECURIT, JSON.stringify({ leagueCode: myLeague.leagueCode, name: myLeague.name, info: content }), '', '');
|
||||
if (!msgData) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
@@ -6,12 +6,13 @@ import { errlogger } from '../../../util/logger';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { setKvToMemory } from '../../../services/pushService';
|
||||
import { getGVGConfig, setGVGConfig, setGVGServerGroup } from '../../../services/gvg/gvgService';
|
||||
import { getGVGConfig, setGVGConfig } from '../../../services/gvg/gvgService';
|
||||
import { GVGConfigType } from '../../../db/GVGConfig';
|
||||
import { catapultHurt, gvgBattleEnd, gvgBattleSeconds, gvgBattleStart, initCatapult, leaveCityMem } from '../../../services/gvg/gvgBattleService';
|
||||
import { clearBattleMemory } from '../../../services/gvg/gvgBattleMemory';
|
||||
import { updateLeagueNameMem, updateTeamRoleInfoMem } from '../../../services/gvg/gvgTeamService';
|
||||
import { resetPeriodTime, setPeriodTime } from '../../../services/gvg/gvgFightService';
|
||||
import { setServerGroup } from '../../../services/serverService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -115,9 +116,9 @@ export class GuildRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async setGVGServerGroup() {
|
||||
public async setServerGroup() {
|
||||
try {
|
||||
return setGVGServerGroup();
|
||||
return setServerGroup();
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import { GUILD_ACTIVITY_TYPE, LADDER_STATUS } from '../../../consts';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { setKvToMemory } from '../../../services/pushService';
|
||||
import { setGVGServerGroup } from '../../../services/gvg/gvgService';
|
||||
import { setServerGroup } from '../../../services/serverService';
|
||||
|
||||
export default function (app: Application) {
|
||||
return new SystimerRemote(app);
|
||||
@@ -276,9 +276,9 @@ export class SystimerRemote {
|
||||
}
|
||||
}
|
||||
|
||||
public async setGVGServerGroup() {
|
||||
public async setServerGroup() {
|
||||
try {
|
||||
await setGVGServerGroup();
|
||||
await setServerGroup();
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user