diff --git a/game-server/app/servers/activity/handler/activityHandler.ts b/game-server/app/servers/activity/handler/activityHandler.ts index 008ed7528..691e3cd37 100644 --- a/game-server/app/servers/activity/handler/activityHandler.ts +++ b/game-server/app/servers/activity/handler/activityHandler.ts @@ -42,12 +42,14 @@ export class ActivityHandler { let activityData = await getActivityById(activityId); if (activityData) { let playerActivityData = await getActivity(serverId, roleId, activityId, activityData.type) - if (playerActivityData) playerGroupActivityArray.push(playerActivityData); + if(playerActivityData.beginTime <= Date.now() && playerActivityData.endTime >= Date.now()) { + if (playerActivityData) playerGroupActivityArray.push(playerActivityData); + } } } playerGroupArray.push({ type: groupData.type, - activities: playerGroupActivityArray, + activities: playerGroupActivityArray }); console.log(`${roleId} 活动合集 groupId:${groupData.groupId}, 合集类型${groupData.type}, 一共${playerGroupActivityArray.length}个`) } diff --git a/game-server/app/services/eventSercive.ts b/game-server/app/services/eventSercive.ts index a5852e69f..b2d6cf938 100644 --- a/game-server/app/services/eventSercive.ts +++ b/game-server/app/services/eventSercive.ts @@ -131,7 +131,14 @@ export async function getEvent(eventStatus: number, roleId: string, roleName: st for(let e of preEvents) { let index = event.findIndex(cur => cur.point == e.point); - if(index == -1) event.push(e); + if(index == -1) { // 这个位置空着,则塞入 + event.push(e); + } else { + let curEvent = event[index]; + if(curEvent.status == EVENT_RECORD_STATUS.FAIL_RECEIVED || curEvent.status == EVENT_RECORD_STATUS.SUCCESS_RECEIVED) { // 当前的几个已领取,pre的补位 + event[index] = e; + } + } } }