diff --git a/game-server/app/servers/activity/handler/activityHandler.ts b/game-server/app/servers/activity/handler/activityHandler.ts index 02102a2f8..ec29a0288 100644 --- a/game-server/app/servers/activity/handler/activityHandler.ts +++ b/game-server/app/servers/activity/handler/activityHandler.ts @@ -13,6 +13,8 @@ import { monthlyTicketActivity } from '../../../services/monthlyTicketService'; import { rechargeMoneyActivity } from '../../../services/rechargeMoneyService'; import moment = require('moment'); import { RoleModel } from '../../../db/Role'; +import { playerThirtyDaysActivityDays, thirtyDaysActivity } from '../../../services/thirtyDaysService'; +import { dailyRMBGiftsActivity } from '../../../services/dailyRMBGiftsService'; // import { ActivityDailyChallengesModel } from '../../../db/ActivityDailyChallenges'; // import { isComplete } from '../../../pubUtils/taskUtil'; @@ -206,6 +208,19 @@ export class ActivityHandler { } } + //30天目标活动 12 + { + let data = await thirtyDaysActivity(ACTIVITY_TYPE.THIRTY_DAYS, serverId, roleId); + if (data) { + let todayIndex = await playerThirtyDaysActivityDays(roleId); + playerActivityArray.push({ + type: ACTIVITY_TYPE.THIRTY_DAYS, + activityId: data.activityId, + data: { playerData: data, todayIndex }, + }); + } + } + //首冲礼包活动 14 { @@ -305,6 +320,17 @@ export class ActivityHandler { }); } } + //每日特惠RMB购买,一次性购买7天礼包 22 + { + let data = await dailyRMBGiftsActivity(serverId, roleId); + if (data) { + playerActivityArray.push({ + type: ACTIVITY_TYPE.DAILY_RMB_GIFTS, + activityId: data.activityId, + data, + }); + } + } return resResult(STATUS.SUCCESS, { playerActivityArray }); } diff --git a/game-server/app/services/dailyRMBGiftsService.ts b/game-server/app/services/dailyRMBGiftsService.ts index 4f24bce5d..b29f279c9 100644 --- a/game-server/app/services/dailyRMBGiftsService.ts +++ b/game-server/app/services/dailyRMBGiftsService.ts @@ -18,18 +18,16 @@ import { ServerlistModel } from '../db/Serverlist'; * */ -export async function dailyGiftsActivity(type: number, serverId: number, roleId: string) { +export async function dailyRMBGiftsActivity(serverId: number, roleId: string) { let { activityGroupId } = await ServerlistModel.findByServerId(serverId); - let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(activityGroupId, type, 1) + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.DAILY_RMB_GIFTS, new Date()) - let allPlayerActivity = []; - for (let i = 0; i < activityArray.length; i++) { - let activityData = activityArray[i]; - let playerData = await getPlayerDailyGiftsData(activityData.activityId, serverId, roleId); - allPlayerActivity.push(playerData) + if (activityArray.length == 0) { + return null; } - - return allPlayerActivity + let activityData = activityArray[0]; + let playerData = await getPlayerDailyGiftsData(activityData.activityId, serverId, roleId); + return playerData } /** diff --git a/game-server/app/services/thirtyDaysService.ts b/game-server/app/services/thirtyDaysService.ts index 1b7f81dce..df113640e 100644 --- a/game-server/app/services/thirtyDaysService.ts +++ b/game-server/app/services/thirtyDaysService.ts @@ -20,16 +20,14 @@ import { ServerlistModel } from '../db/Serverlist'; export async function thirtyDaysActivity(type: number, serverId: number, roleId: string) { let { activityGroupId } = await ServerlistModel.findByServerId(serverId); - let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(activityGroupId, type, 1) - - let allPlayerActivity = []; - for (let i = 0; i < activityArray.length; i++) { - let activityData = activityArray[i]; - let playerData = await getPlayerThirtyDaysData(activityData.activityId, serverId, roleId); - allPlayerActivity.push(playerData) + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, type, new Date()) + if (activityArray.length == 0) { + return null; } + let activityData = activityArray[0]; + let playerData = await getPlayerThirtyDaysData(activityData.activityId, serverId, roleId); - return allPlayerActivity + return playerData } /**