🐞 fix(新服): 开新服后之前服的活动消失

This commit is contained in:
luying
2022-12-12 16:41:18 +08:00
parent 32b4f789be
commit ec9f0e431f
4 changed files with 26 additions and 3 deletions

View File

@@ -7,7 +7,7 @@ import { taflush } from '../../../services/sdkService';
import { ActivityInRemote } from '../../../domain/activityField/activityField';
import { errlogger } from '../../../util/logger';
import { ActivityGroupModel } from '../../../db/ActivityGroup';
import { deleteActivities, loadActivities, saveActivitiesToGroup, updateActivities, _getActivityById, _getActivitiesByType, _getActivities, _getActivitiesByServerId, saveGroupToServer } from '../../../services/activity/activityRemoteService';
import { deleteActivities, loadActivities, saveActivitiesToGroup, updateActivities, _getActivityById, _getActivitiesByType, _getActivities, _getActivitiesByServerId, saveGroupToServer, addServerToGroup } from '../../../services/activity/activityRemoteService';
import { saveActivityMemory } from '../../../services/log/memoryLogService';
import { setApiIsClose } from '../../../services/chatService';
import { setHiddenData } from '../../../services/dataService';
@@ -63,6 +63,14 @@ export class ActivityRemote {
}
}
public async addServerToGroup(groupId: number[], serverIds: number[]) {
try {
addServerToGroup(groupId, serverIds);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async saveActivitiesToGroup(groupId: number, activities: number[]) {
try {
saveActivitiesToGroup(groupId, activities);

View File

@@ -109,6 +109,22 @@ export function saveGroupToServer(groupIds: number[], serverIds: number[]) {
setActivityTypeAndServer();
}
export function addServerToGroup(groupIds: number[], serverIds: number[]) {
for(let groupId of groupIds) {
if(!groupToServer.has(groupId)) {
groupToServer.set(groupId, []);
}
for(let serverId of serverIds) {
let arr = groupToServer.get(groupId)||[];
if(arr.indexOf(serverId) == -1) {
groupToServer.get(groupId).push(serverId);
}
}
}
setActivityTypeAndServer();
}
export function saveActivitiesToGroup(groupId: number, activityDb: number[]) {
for(let activityId of activityDb) {
if(activities.get(activityId)) {

View File

@@ -195,7 +195,7 @@ export async function createNewServer(region: RegionType ,serverId: number, para
if(params.activityGroupId && params.activityGroupId.length > 0) {
await ActivityGroupModel.addServerToGroupData(newServer.id, params.activityGroupId);
let activityGroups = await ActivityGroupModel.findByServerId(newServer.id);
await pinus.app.rpc.activity.activityRemote.saveGroupToServer.broadcast(params.activityGroupId, [newServer.id]);
await pinus.app.rpc.activity.activityRemote.addServerToGroup.broadcast(params.activityGroupId, [newServer.id]);
let aids = activityGroups.reduce((pre, cur) => [...pre, ...cur.activities], []);
let activities = await ActivityModel.findActivityByIds(aids);

View File

@@ -31,6 +31,5 @@ declare module 'egg' {
jsonp?: EggPluginItem;
view?: EggPluginItem;
cors?: EggPluginItem;
xtransit?: EggPluginItem;
}
}