🐞 fix(定时任务): 新服定时任务不完善

This commit is contained in:
luying
2022-11-08 09:38:53 +08:00
parent 74fa24414c
commit 3f0474d99a
4 changed files with 48 additions and 45 deletions

View File

@@ -1,11 +1,6 @@
import { Application, ChannelService, HandlerService, pinus, } from 'pinus';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ServerlistModel } from '../../db/Serverlist';
import { reloadResources } from '../../pubUtils/data';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../services/gmService';
import { taflush } from '../../services/sdkService';
import { pinus, } from 'pinus';
import { ActivityModel } from '../../db/Activity';
import { ActivityInRemote } from '../../domain/activityField/activityField';
import { errlogger } from '../../util/logger';
import { ActivityGroupModel } from '../../db/ActivityGroup';
const activityByServer: Map<number, number[]> = new Map(); // serverId => activityId[];
@@ -20,6 +15,22 @@ export function clearData() {
groupToServer.clear();
}
function updateActivityByType(_activityByType: Map<number, Map<number, number[]>>) {
activityByType.clear();
for(let [serverId, map] of _activityByType) {
activityByType.set(serverId, map);
}
pinus.app.set('activityByServer', activityByType);
}
function updateActivityByServer(_activityByServer: Map<number, number[]>) {
activityByServer.clear();
for(let [serverId, arr] of _activityByServer) {
activityByServer.set(serverId, arr);
}
pinus.app.set('activityByServer', activityByServer);
}
export async function loadActivities() {
clearData();
let activityGroup = await ActivityGroupModel.findAllActivityGroup();
@@ -47,32 +58,30 @@ export async function loadActivities() {
}
export async function setActivityTypeAndServer() {
activityByServer.clear();
activityByType.clear();
let _activityByServer: Map<number, number[]> = new Map(); // serverId => activityId[];
let _activityByType: Map<number, Map<number, number[]>> = new Map();
for(let [_, activity] of activities) {
let servers = groupToServer.get(activity.groupId)||[];
for(let serverId of servers) {
if(!activityByServer.has(serverId)) {
activityByServer.set(serverId, []);
if(!_activityByServer.has(serverId)) {
_activityByServer.set(serverId, []);
}
activityByServer.get(serverId).push(activity.activityId);
_activityByServer.get(serverId).push(activity.activityId);
if(!activityByType.has(serverId)) {
activityByType.set(serverId, new Map());
if(!_activityByType.has(serverId)) {
_activityByType.set(serverId, new Map());
}
if(!activityByType.get(serverId).has(activity.type)) {
activityByType.get(serverId).set(activity.type, []);
if(!_activityByType.get(serverId).has(activity.type)) {
_activityByType.get(serverId).set(activity.type, []);
}
activityByType.get(serverId).get(activity.type).push(activity.activityId);
_activityByType.get(serverId).get(activity.type).push(activity.activityId);
}
}
updateActivityByServer(_activityByServer);
updateActivityByType(_activityByType);
pinus.app.set('activityByServer', activityByServer);
pinus.app.set('activityByType', activityByType);
pinus.app.set('activities', activities);
pinus.app.set('groupToServer', groupToServer);
}
export function updateActivities(activityDb: ActivityInRemote[]) {
@@ -93,9 +102,10 @@ export function deleteActivities(activityIds: number[]) {
setActivityTypeAndServer();
}
export function saveGroupToServer(groupId: number, serverIds: number[]) {
groupToServer.set(groupId, serverIds);
export function saveGroupToServer(groupIds: number[], serverIds: number[]) {
for(let groupId of groupIds) {
groupToServer.set(groupId, serverIds);
}
setActivityTypeAndServer();
}