红点:军团活动

This commit is contained in:
luying
2022-04-22 21:11:26 +08:00
parent 6125a43d42
commit 3af406e6f8
5 changed files with 210 additions and 176 deletions
@@ -5,10 +5,11 @@ import { reloadResources } from '../../../pubUtils/data';
import { UserGuildType } from '../../../db/UserGuild';
import { kickUser } from '../../../services/connectorService';
import { PVPConfigModel, PVPConfigType } from '../../../db/SystemConfig';
import { setDicAuctionTime } from '../../../services/guildActivity/guildActivityService';
import { setDicAuctionTime, setDicGuildActivity } from '../../../services/guildActivity/guildActivityService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { taflush } from '../../../services/sdkService';
import { errlogger } from '../../../util/logger';
import { setWeek } from '../../../pubUtils/timeUtil';
export default function (app: Application) {
new HandlerService(app, {});
return new ConnectorRemote(app);
@@ -140,4 +141,26 @@ export class ConnectorRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
async setDay(week: number) {
try {
setWeek(week);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
/**
* 改变字典表中的军团活动开始时间&持续时间
* @param {number} aid 活动
* @param {number} startSeconds 从现在开始几秒后开启活动
* @param {number} endSeconds 从开始之后几秒后结束活动
*/
public async setDicGuildActivity(now: number, aid: number, startSeconds: number, endSeconds: number) {
try {
setDicGuildActivity(now, aid, startSeconds, endSeconds);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -333,11 +333,13 @@ export class GmHandler {
let startTimes = await pinus.app.rpc.guild.guildActivityRemote.setDicGuildActivity.broadcast(now.getTime(), aid, startActivity, endActivity);
await pinus.app.rpc.systimer.systimerRemote.setDicGuildActivity.broadcast(now.getTime(), aid, startActivity, endActivity);
await pinus.app.rpc.connector.connectorRemote.setDicGuildActivity.broadcast(now.getTime(), aid, startActivity, endActivity);
await pinus.app.rpc.guild.guildActivityRemote.setDicAuctionTime.broadcast(startTimes[0], endActivity, startGuildAuction, endGuildAuction, startWorldAuction, endWorldAuction);
await pinus.app.rpc.connector.connectorRemote.setDicAuctionTime.broadcast(startTimes[0], endActivity, startGuildAuction, endGuildAuction, startWorldAuction, endWorldAuction);
await pinus.app.rpc.systimer.systimerRemote.setDicAuctionTime.broadcast(startTimes[0], endActivity, startGuildAuction, endGuildAuction, startWorldAuction, endWorldAuction);
await pinus.app.rpc.guild.guildActivityRemote.setDay.broadcast(day);
await pinus.app.rpc.systimer.systimerRemote.setDay.broadcast(day);
await pinus.app.rpc.connector.connectorRemote.setDay.broadcast(day);
await pinus.app.rpc.guild.guildActivityRemote.guildActivityEnd.broadcast(aid);
// 清空旧数据
@@ -383,6 +385,7 @@ export class GmHandler {
await pinus.app.rpc.systimer.systimerRemote.reloadResources.broadcast();
await pinus.app.rpc.guild.guildActivityRemote.setDay.broadcast(now.getDay());
await pinus.app.rpc.systimer.systimerRemote.setDay.broadcast(now.getDay());
await pinus.app.rpc.connector.connectorRemote.setDay.broadcast(now.getDay());
// 开启定时器
await pinus.app.rpc.systimer.systimerRemote.setAuctionSchedule.broadcast();
+1 -2
View File
@@ -25,7 +25,6 @@ import { addRoleToGuildChannel } from './chatChannelService';
import { getMyGuildInfo, getGuildWithRefActive, getUserGuildWithRefActive, getWishPool, getInvitationList } from './guildService';
import { getAuction } from './auctionService';
import { getGuildTrainInstance, getTrainBoxRewardsResult } from './guildTrainService';
import { BossInstanceModel } from '../db/BossInstance';
import { getBossInstanceInfo } from './guildBossService';
import { getEvent } from './eventSercive';
import { getBattleListOfMain, getMainChapter } from './normalBattleService';
@@ -201,7 +200,7 @@ export async function getModuleData(type: string, data: { role: RoleType, sessio
case 'battle':
return await getBattleListOfMain(role);
case 'guildActivity':
return getAllGuildActivityStatus();
return getAllGuildActivityStatus(role.guildCode, role.serverId);
case 'chapter':
return getMainChapter(role);
case 'survey':
@@ -107,12 +107,17 @@ export function getGuildActivityStatus(id: number) {
return getGuildActivityByDic(dicGuildActivity);
}
export function getAllGuildActivityStatus() {
let guildActivities: { aid: number, status: number, time: number, isOpen: boolean }[] = [];
gameData.guildActivity.forEach((dicGuildActivity, aid) => {
export async function getAllGuildActivityStatus(guildCode: string, serverId: number) {
let guildActivities: { aid: number, status: number, time: number, isOpen: boolean, isCompleted?: boolean }[] = [];
for(let [ aid, dicGuildActivity ] of gameData.guildActivity) {
let res = getGuildActivityByDic(dicGuildActivity);
guildActivities.push({aid ,...res});
});
let isCompleted = res.isOpen;
if(res.status == GUILD_ACTIVITY_STATUS.START && guildCode) {
let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, aid);
if(guildActivityRec) isCompleted = guildActivityRec.isCompleted;
}
guildActivities.push({aid, ...res, isCompleted});
}
return guildActivities;
}
@@ -342,7 +347,11 @@ export async function sendEndMsgToAllServer() {
}
export async function sendGuildActivityStatus(serverId: number) {
let guildActivities = getAllGuildActivityStatus();
let guildActivities: { aid: number, status: number, time: number, isOpen: boolean }[] = [];
gameData.guildActivity.forEach((dicGuildActivity, aid) => {
let res = getGuildActivityByDic(dicGuildActivity);
guildActivities.push({aid ,...res});
});
await sendMessageToServerWithSuc(serverId, PUSH_ROUTE.GUILD_ACTIVITY_STATUS, { guildActivities });
}