活动存入内存中
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user