红点:军团活动
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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 });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user