活动存入内存中

This commit is contained in:
luying
2021-09-11 14:02:23 +08:00
parent 7a5722aca4
commit aef511b1aa
35 changed files with 189 additions and 59 deletions

View File

@@ -25,6 +25,9 @@ import { getPlayerMonopolyData } from './monopolyService';
import { getPlayerNewHeroGiftsData } from './newHeroGiftsService';
import { getPlayerNewHeroGKData } from './newHeroGKService';
import { getPlayerNewHeroGachaData } from './newHeroGachaService';
import { pinus } from 'pinus';
import { ActivityModelType } from '../../db/Activity';
import { getRandSingleEelm } from '../../pubUtils/util';
/**
* 获取活动数据
@@ -191,3 +194,41 @@ export async function getActivity(serverId: number, roleId: string, activityId:
return activityData;
}
export async function getActivityById(activityId: number) {
let serverType = pinus.app.getServerType();
if(serverType == 'activity') {
return _getActivityById(activityId);
} else {
let servers = pinus.app.getServersByType('activity');
let server = getRandSingleEelm(servers);
return <ActivityModelType>await pinus.app.rpc.activity.activityRemote.getActivityById.toServer(server.id, activityId);
}
}
export async function getActivitiesByType(serverId: number, type: number) {
let serverType = pinus.app.getServerType();
if(serverType == 'activity') {
return _getActivitiesByType(serverId, type);
} else {
let servers = pinus.app.getServersByType('activity');
let server = getRandSingleEelm(servers);
return <ActivityModelType[]>await pinus.app.rpc.activity.activityRemote.getActivitiesByType.toServer(server.id, serverId, type);
}
}
export function _getActivityById(activityId: number) {
return <ActivityModelType>pinus.app.get('activities')?.get(activityId);
}
export function _getActivitiesByType(serverId: number, type: number) {
let activityByType = pinus.app.get('activityByType')?.get(serverId)?.get(type)||[];
let activities: Map<number, ActivityModelType> = pinus.app.get('activities');
let result: ActivityModelType[] = [];
for(let activityId of activityByType) {
let activity = activities.get(activityId);
if(activity && activity.beginTime <= new Date()) {
result.push(activity);
}
}
return result;
}