活动:修复七天乐任务
This commit is contained in:
@@ -5,6 +5,7 @@ import { reloadResources } from '../../../pubUtils/data';
|
||||
import { _getActivitiesByType, _getActivityById, _getActivities } from '../../../services/activity/activityService';
|
||||
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
|
||||
import { taflush } from '../../../services/sdkService';
|
||||
import { ActivityInRemote } from '../../../domain/activityField/activityField';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -20,7 +21,7 @@ export class ActivityRemote {
|
||||
|
||||
private channelService: ChannelService;
|
||||
private activityByServer: Map<number, number[]> = new Map(); // serverId => activityId[];
|
||||
private activities: Map<number, ActivityModelType> = new Map(); // activityId => activity
|
||||
private activities: Map<number, ActivityInRemote> = new Map(); // activityId => activity
|
||||
private activityByType: Map<number, Map<number, number[]>> = new Map(); // serverId => type => activityId[];
|
||||
private groupToServer: Map<number, number[]> = new Map(); // group => serverId[];
|
||||
|
||||
@@ -45,7 +46,7 @@ export class ActivityRemote {
|
||||
let activities = await ActivityModel.findOpenAndComingActivityes();
|
||||
let activityIds: number[] = [];
|
||||
for(let activity of activities) {
|
||||
this.activities.set(activity.activityId, activity);
|
||||
this.activities.set(activity.activityId, new ActivityInRemote(activity));
|
||||
activityIds.push(activity.activityId);
|
||||
}
|
||||
this.setActivityTypeAndServer();
|
||||
@@ -86,7 +87,7 @@ export class ActivityRemote {
|
||||
public async updateActivities(activities: ActivityModelType[]) {
|
||||
let activityIds: number[] = [];
|
||||
for(let activity of activities) {
|
||||
this.activities.set(activity.activityId, activity);
|
||||
this.activities.set(activity.activityId, new ActivityInRemote(activity));
|
||||
activityIds.push(activity.activityId);
|
||||
}
|
||||
this.setActivityTypeAndServer();
|
||||
|
||||
@@ -32,6 +32,7 @@ import { SignInData } from '../../domain/activityField/signInField';
|
||||
import { ActivityGroupModel } from '../../db/ActivityGroup';
|
||||
import { ActivityGroupTypeModel } from '../../db/ActivityGroupType';
|
||||
import { ServerlistModel } from '../../db/Serverlist';
|
||||
import { ActivityInRemote, transActivityInRemoteToModelType } from '../../domain/activityField/activityField';
|
||||
|
||||
/**
|
||||
* 获取活动数据
|
||||
@@ -200,13 +201,15 @@ export async function getActivity(serverId: number, roleId: string, activityId:
|
||||
|
||||
export async function getActivityById(activityId: number) {
|
||||
let serverType = pinus.app.getServerType();
|
||||
let activity: ActivityInRemote;
|
||||
if(serverType == 'activity') {
|
||||
return _getActivityById(activityId);
|
||||
activity = _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);
|
||||
activity = <ActivityInRemote>await pinus.app.rpc.activity.activityRemote.getActivityById.toServer(server.id, activityId);
|
||||
}
|
||||
return transActivityInRemoteToModelType(activity)
|
||||
}
|
||||
|
||||
export async function getActivitiesByType(serverId: number, type: number) {
|
||||
@@ -227,21 +230,21 @@ export async function getActivities() {
|
||||
} else {
|
||||
let servers = pinus.app.getServersByType('activity');
|
||||
let server = getRandSingleEelm(servers);
|
||||
return <ActivityModelType[]>await pinus.app.rpc.activity.activityRemote.getActivities.toServer(server.id);
|
||||
return <ActivityInRemote[]>await pinus.app.rpc.activity.activityRemote.getActivities.toServer(server.id);
|
||||
}
|
||||
}
|
||||
|
||||
export function _getActivityById(activityId: number) {
|
||||
return <ActivityModelType>pinus.app.get('activities')?.get(activityId);
|
||||
return <ActivityInRemote>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[] = [];
|
||||
let activities: Map<number, ActivityInRemote> = pinus.app.get('activities');
|
||||
let result: ActivityInRemote[] = [];
|
||||
for(let activityId of activityByType) {
|
||||
let activity = activities.get(activityId);
|
||||
if(activity && activity.beginTime <= new Date()) {
|
||||
if(activity && activity.beginTime <= Date.now()) {
|
||||
result.push(activity);
|
||||
}
|
||||
}
|
||||
@@ -250,7 +253,7 @@ export function _getActivitiesByType(serverId: number, type: number) {
|
||||
|
||||
export function _getActivities() {
|
||||
let activities = pinus.app.get('activities');
|
||||
let result: ActivityModelType[] = [];
|
||||
let result: ActivityInRemote[] = [];
|
||||
for(let [_, activity] of activities) {
|
||||
result.push(activity);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user