diff --git a/game-server/app/servers/activity/handler/activityHandler.ts b/game-server/app/servers/activity/handler/activityHandler.ts index 32ac5efb5..10e0667df 100644 --- a/game-server/app/servers/activity/handler/activityHandler.ts +++ b/game-server/app/servers/activity/handler/activityHandler.ts @@ -4,7 +4,7 @@ import { ENCRYPT_IV, ENCRYPT_KEY, STATUS, TASK_TYPE } from '../../../consts'; import { checkActivityTask } from '../../../services/taskService'; import { ActivityGroupModel } from '../../../db/ActivityGroup'; import { ServerlistModel } from '../../../db/Serverlist'; -import { getActivity } from '../../../services/activity/activityService'; +import { getActivity, getActivityById } from '../../../services/activity/activityService'; import { ActivityModel } from '../../../db/Activity'; export default function (app: Application) { @@ -39,7 +39,7 @@ export class ActivityHandler { for (let groupData of groups) { let playerGroupActivityArray = []; for (let activityId of groupData.activities) { - let activityData = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); if (activityData) { let playerActivityData = await getActivity(serverId, roleId, activityId, activityData.type) if (playerActivityData) playerGroupActivityArray.push(playerActivityData); diff --git a/game-server/app/servers/activity/handler/gachaHandler.ts b/game-server/app/servers/activity/handler/gachaHandler.ts index 268b6dd6c..7f3ad22c8 100644 --- a/game-server/app/servers/activity/handler/gachaHandler.ts +++ b/game-server/app/servers/activity/handler/gachaHandler.ts @@ -13,6 +13,7 @@ import { UserGachaRecModel } from "../../../db/UserGachaRec"; import { ActivityModel } from "../../../db/Activity"; import { checkActivityTask, checkTask } from "../../../services/taskService"; import { RECRUIT } from "../../../pubUtils/dicParam"; +import { getActivityById } from "../../../services/activity/activityService"; export default function (app: Application) { new HandlerService(app, {}); @@ -238,7 +239,7 @@ export class GachaHandler { let heroes: number[] = []; if (gachaId == GACHA_ID.TIMELIMIT) { - let activityData = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); if (!activityData) return resResult(STATUS.ACTIVITY_MISSING); let { createTime } = await RoleModel.findByRoleId(roleId); diff --git a/game-server/app/servers/activity/handler/popUpShopHandler.ts b/game-server/app/servers/activity/handler/popUpShopHandler.ts index f00e37659..ddcdedb63 100644 --- a/game-server/app/servers/activity/handler/popUpShopHandler.ts +++ b/game-server/app/servers/activity/handler/popUpShopHandler.ts @@ -9,6 +9,7 @@ import { addReward, stringToRewardParam } from '../../../services/activity/giftP import { RewardParam } from '../../../domain/activityField/rewardField'; import { handleCost } from '../../../services/rewardService'; import moment = require('moment'); +import { getActivityById } from '../../../services/activity/activityService'; export default function (app: Application) { new HandlerService(app, {}); @@ -54,7 +55,7 @@ export class PopUpShopHandler { let beginTime = moment(beginTimeStamp).toDate(); - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING); } diff --git a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts index 416488e55..14d4e2852 100644 --- a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts +++ b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts @@ -11,6 +11,7 @@ import { addSelfServiceShopGiftReward, getSelfServiceShopActivityData, getPlayer import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService'; import { random } from 'underscore'; import { RoleModel } from '../../../db/Role'; +import { getActivityById } from '../../../services/activity/activityService'; export default function (app: Application) { new HandlerService(app, {}); @@ -54,7 +55,7 @@ export class SelfServiceShopHandler { const roleName = session.get('roleName'); - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new SelfServiceShopData(activityData, createTime); let item = playerData.getItem(index); @@ -114,7 +115,7 @@ export class SelfServiceShopHandler { const roleName = session.get('roleName'); - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new SelfServiceShopData(activityData, createTime); let unitPrice = playerData.unitPrice;//购买价格 diff --git a/game-server/app/servers/activity/remote/activityRemote.ts b/game-server/app/servers/activity/remote/activityRemote.ts index e21fec03c..6f0e63a98 100644 --- a/game-server/app/servers/activity/remote/activityRemote.ts +++ b/game-server/app/servers/activity/remote/activityRemote.ts @@ -1,5 +1,8 @@ import { Application, ChannelService, HandlerService, } from 'pinus'; +import { ActivityModel, ActivityModelType } from '../../../db/Activity'; +import { ServerlistModel } from '../../../db/Serverlist'; import { reloadResources } from '../../../pubUtils/data'; +import { _getActivitiesByType, _getActivityById } from '../../../services/activity/activityService'; export default function (app: Application) { new HandlerService(app, {}); @@ -11,9 +14,13 @@ export class ActivityRemote { constructor(private app: Application) { this.app = app; this.channelService = app.get('channelService'); + this.loadActivities(); } private channelService: ChannelService; + private activityByServer: Map = new Map(); // serverId => activityId[]; + private activities: Map = new Map(); // activityId => activity + private activityByType: Map> = new Map(); // serverId => type => activityId[] /** * 重载json资源 @@ -21,4 +28,49 @@ export class ActivityRemote { public async reloadResources() { reloadResources(); } + + private async loadActivities() { + let servers = await ServerlistModel.getAllServerList(); + let groupToServer = new Map(); + for(let { serverId, activityGroupId } of servers) { + for(let groupId of activityGroupId) { + if(!groupToServer.has(groupId)) { + groupToServer.set(groupId, []); + } + groupToServer.get(groupId).push(serverId); + } + } + + let activities = await ActivityModel.findOpenAndComingActivityes(); + for(let activity of activities) { + this.activities.set(activity.activityId, activity); + let servers = groupToServer.get(activity.activityId)||[]; + for(let serverId of servers) { + if(!this.activityByServer.has(serverId)) { + this.activityByServer.set(serverId, []); + } + this.activityByServer.get(serverId).push(activity.activityId); + + if(!this.activityByType.has(serverId)) { + this.activityByType.set(serverId, new Map()); + } + if(!this.activityByType.get(serverId).has(activity.type)) { + this.activityByType.get(serverId).set(activity.type, []); + } + this.activityByType.get(serverId).get(activity.type).push(activity.activityId); + } + } + + this.app.set('activityByServer', this.activityByServer); + this.app.set('activityByType', this.activityByType); + this.app.set('activities', this.activities); + } + + public getActivityById(activityId: number) { + return _getActivityById(activityId); + } + + public getActivitiesByType(serverId: number, type: number) { + return _getActivitiesByType(serverId, type); + } } \ No newline at end of file diff --git a/game-server/app/servers/order/handler/orderHandler.ts b/game-server/app/servers/order/handler/orderHandler.ts index f4f31546d..e03f3aafd 100644 --- a/game-server/app/servers/order/handler/orderHandler.ts +++ b/game-server/app/servers/order/handler/orderHandler.ts @@ -12,6 +12,7 @@ import { ActivityModel, ActivityModelType } from '../../../db/Activity'; import { ServerlistModel } from '../../../db/Serverlist'; import { addVipRechargeMoney } from '../../../services/activity/vipRechargeMoneyService'; import { checkActivityTask } from '../../../services/taskService'; +import { getActivityById } from '../../../services/activity/activityService'; export default function (app: Application) { new HandlerService(app, {}); @@ -250,7 +251,7 @@ export class orderHandler { // if (activityArray.length === 0) { // return resResult(STATUS.ACTIVITY_MISSING); // } - let activityData = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); if (!activityData) return resResult(STATUS.ACTIVITY_MISSING); await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message); diff --git a/game-server/app/services/activity/activityService.ts b/game-server/app/services/activity/activityService.ts index 828286c90..5521dcc80 100644 --- a/game-server/app/services/activity/activityService.ts +++ b/game-server/app/services/activity/activityService.ts @@ -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 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 await pinus.app.rpc.activity.activityRemote.getActivitiesByType.toServer(server.id, serverId, type); + } +} + +export function _getActivityById(activityId: number) { + return 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 = 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; +} diff --git a/game-server/app/services/activity/dailyChallengesService.ts b/game-server/app/services/activity/dailyChallengesService.ts index 2b1d0be5a..1a3408f71 100644 --- a/game-server/app/services/activity/dailyChallengesService.ts +++ b/game-server/app/services/activity/dailyChallengesService.ts @@ -4,6 +4,7 @@ import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from ' import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyChallengesData } from '../../domain/activityField/dailyChallengesField'; +import { getActivityById } from './activityService'; /** @@ -38,7 +39,7 @@ export async function dailyChallengesActivity(serverId: number, roleId: string) * */ export async function getPlayerDailyChallengesData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyChallengesData(activityData, createTime); diff --git a/game-server/app/services/activity/dailyCoinService.ts b/game-server/app/services/activity/dailyCoinService.ts index 6593b7275..a49285b95 100644 --- a/game-server/app/services/activity/dailyCoinService.ts +++ b/game-server/app/services/activity/dailyCoinService.ts @@ -4,6 +4,7 @@ import { ActivityDailyCoinModel, ActivityDailyCoinModelType } from '../../db/Act import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyCoinData } from '../../domain/activityField/dailyCoinField'; +import { getActivityById } from './activityService'; /** @@ -39,7 +40,7 @@ export async function dailyCoinActivity(serverId: number, roleId: string) { * */ export async function getPlayerDailyCoinData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyCoinData(activityData, createTime); diff --git a/game-server/app/services/activity/dailyGKService.ts b/game-server/app/services/activity/dailyGKService.ts index e5e6b812e..eacbef138 100644 --- a/game-server/app/services/activity/dailyGKService.ts +++ b/game-server/app/services/activity/dailyGKService.ts @@ -4,6 +4,7 @@ import { ActivityDailyGKModel, ActivityDailyGKModelType } from '../../db/Activit import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyGKData } from '../../domain/activityField/dailyGKField'; +import { getActivityById } from './activityService'; /** @@ -38,7 +39,7 @@ export async function dailyGKActivity(serverId: number, roleId: string) { * */ export async function getPlayerDailyGKData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecord: ActivityDailyGKModelType = await ActivityDailyGKModel.findData(serverId, activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyGKData(activityData, createTime); @@ -55,7 +56,7 @@ export async function getPlayerDailyGKData(activityId: number, serverId: number, * */ export async function challengeDailyGK(serverId: number, roleId: string, activityId: number, gk: number) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyGKData(activityData, createTime); diff --git a/game-server/app/services/activity/dailyGiftsService.ts b/game-server/app/services/activity/dailyGiftsService.ts index 356d5d851..be22a5d71 100644 --- a/game-server/app/services/activity/dailyGiftsService.ts +++ b/game-server/app/services/activity/dailyGiftsService.ts @@ -4,6 +4,7 @@ import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/A import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyGiftsData } from '../../domain/activityField/dailyGiftsField'; +import { getActivityById } from './activityService'; @@ -39,7 +40,7 @@ export async function dailyGiftsActivity(serverId: number, roleId: string) { * */ export async function getPlayerDailyGiftsData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyGiftsData(activityData, createTime); diff --git a/game-server/app/services/activity/dailyMealService.ts b/game-server/app/services/activity/dailyMealService.ts index 5e4d28fb5..505ea680b 100644 --- a/game-server/app/services/activity/dailyMealService.ts +++ b/game-server/app/services/activity/dailyMealService.ts @@ -4,6 +4,7 @@ import { ActivityDailyMealModel, ActivityDailyMealModelType } from '../../db/Act import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyMealData } from '../../domain/activityField/dailyMealField'; +import { getActivityById } from './activityService'; /** @@ -40,7 +41,7 @@ export async function dailyMealActivity(serverId: number, roleId: string) { * */ export async function getPlayerDailyMealData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyMealData(activityData, createTime); diff --git a/game-server/app/services/activity/dailyRMBGiftsService.ts b/game-server/app/services/activity/dailyRMBGiftsService.ts index 8e4d43b38..4bc4ef45a 100644 --- a/game-server/app/services/activity/dailyRMBGiftsService.ts +++ b/game-server/app/services/activity/dailyRMBGiftsService.ts @@ -7,6 +7,7 @@ import { RewardParam } from '../../domain/activityField/rewardField'; import { addReward, stringToRewardParam } from './giftPackageService'; import { ServerlistModel } from '../../db/Serverlist'; import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -38,7 +39,7 @@ export async function dailyRMBGiftsActivity(serverId: number, roleId: string) { * */ export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyRMBGiftsData(activityData, createTime); // let productID = playerData.productID; @@ -67,7 +68,7 @@ export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: n */ export async function makeDailyRMBGiftsReward(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (activityData.type !== ACTIVITY_TYPE.DAILY_RMB_GIFTS) { return { code: STATUS.ACTIVITY_TYPE_ERROR, diff --git a/game-server/app/services/activity/firstGiftService.ts b/game-server/app/services/activity/firstGiftService.ts index 831099062..bfdb04f57 100644 --- a/game-server/app/services/activity/firstGiftService.ts +++ b/game-server/app/services/activity/firstGiftService.ts @@ -4,6 +4,7 @@ import { ActivityFirstGiftModel, ActivityFirstGiftModelType } from '../../db/Act import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { FirstGiftData } from '../../domain/activityField/firstGiftField'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -42,7 +43,7 @@ export async function firstGiftActivity(serverId: number, roleId: string) { * */ export async function getPlayerFirstGiftData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecord: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findData(activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); diff --git a/game-server/app/services/activity/gachaService.ts b/game-server/app/services/activity/gachaService.ts index a52234b9f..c9661d70d 100644 --- a/game-server/app/services/activity/gachaService.ts +++ b/game-server/app/services/activity/gachaService.ts @@ -12,6 +12,7 @@ import { CreateHeroParam } from "../../domain/roleField/hero"; import { transPiece } from "../../pubUtils/itemUtils"; import { HeroType } from "../../db/Hero"; import { NewHeroGachaItem } from "../../domain/activityField/newHeroGachaField"; +import { getActivityById } from "./activityService"; /** * 获取招募列表 @@ -40,7 +41,7 @@ export async function getGachaList(roleId: string) { */ export async function getLimitGacha(serverId: number, roleId: string, activityId: number) { - let activityData = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); if (!activityData) return false; let { createTime } = await RoleModel.findByRoleId(roleId); diff --git a/game-server/app/services/activity/growthFundService.ts b/game-server/app/services/activity/growthFundService.ts index 885302483..35c6a843a 100644 --- a/game-server/app/services/activity/growthFundService.ts +++ b/game-server/app/services/activity/growthFundService.ts @@ -5,6 +5,7 @@ import { ActivityBuyRecordsModel } from '../../db/ActivityBuyRecords'; import { RoleModel } from '../../db/Role'; import { GrowthFundData } from '../../domain/activityField/growthFundField'; import { ServerlistModel } from '../../db/Serverlist'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -45,7 +46,7 @@ export async function growthFundActivity(type: number, serverId: number, roleId: * */ export async function getPlayerGrowthFundData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); @@ -126,7 +127,7 @@ export async function getPlayerGrowthFundData(activityId: number, serverId: numb */ export async function makeGrowthFund(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (!activityData) { return STATUS.ACTIVITY_MISSING; } diff --git a/game-server/app/services/activity/growthService.ts b/game-server/app/services/activity/growthService.ts index 006bd09ce..7f46fb8c7 100644 --- a/game-server/app/services/activity/growthService.ts +++ b/game-server/app/services/activity/growthService.ts @@ -6,6 +6,7 @@ import { HeroModel } from '../../db/Hero'; import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { GrowthData } from '../../domain/activityField/growthField'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -42,7 +43,7 @@ export async function growthActivity(serverId: number, roleId: string) { * */ export async function getPlayerGrowthData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); diff --git a/game-server/app/services/activity/limitPackageService.ts b/game-server/app/services/activity/limitPackageService.ts index b9062a4be..c3c9130f6 100644 --- a/game-server/app/services/activity/limitPackageService.ts +++ b/game-server/app/services/activity/limitPackageService.ts @@ -6,6 +6,7 @@ import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { LimitShopData } from '../../domain/activityField/limitShopField'; import { deltaDays } from '../../pubUtils/util'; +import { getActivityById } from './activityService'; import { addReward, stringToRewardParam } from './giftPackageService'; /** @@ -41,7 +42,7 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st * */ export async function getPlayerLimitPackageData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new LimitShopData(activityData, createTime); @@ -103,7 +104,7 @@ export async function newPlayerActivityDays(roleId: string) { */ export async function makeLimitPackageReward(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (!activityData) { return STATUS.ACTIVITY_MISSING; } diff --git a/game-server/app/services/activity/monopolyService.ts b/game-server/app/services/activity/monopolyService.ts index 244b43515..905892918 100644 --- a/game-server/app/services/activity/monopolyService.ts +++ b/game-server/app/services/activity/monopolyService.ts @@ -5,6 +5,7 @@ import { ActivityMonopolyLandModel, ActivityMonopolyLandModelType } from '../../ import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { MonopolyData } from '../../domain/activityField/monopolyField'; +import { getActivityById } from './activityService'; /** @@ -40,7 +41,7 @@ export async function getMonopolyActivity(serverId: number, roleId: string) { * */ export async function getPlayerMonopolyData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); if (!activityData) { return null; } diff --git a/game-server/app/services/activity/monthlyTicketService.ts b/game-server/app/services/activity/monthlyTicketService.ts index fefad0fe5..9f155f85a 100644 --- a/game-server/app/services/activity/monthlyTicketService.ts +++ b/game-server/app/services/activity/monthlyTicketService.ts @@ -8,6 +8,7 @@ import moment = require('moment'); import { ServerlistModel } from '../../db/Serverlist'; import { sendMailByContent } from './../mailService'; import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -56,7 +57,7 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty * */ export async function getPlayerMonthlyTicketData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new MonthlyTicketData(activityData, createTime); @@ -74,7 +75,7 @@ export async function getPlayerMonthlyTicketData(activityId: number, serverId: n */ export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number, activityId: number,) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new MonthlyTicketData(activityData, createTime); @@ -106,7 +107,7 @@ export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: */ export async function makeMonthlyTicketReward(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_1 && activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_2) { return STATUS.ACTIVITY_TYPE_ERROR; } diff --git a/game-server/app/services/activity/newHeroGKService.ts b/game-server/app/services/activity/newHeroGKService.ts index 4136e1409..8e75da3d0 100644 --- a/game-server/app/services/activity/newHeroGKService.ts +++ b/game-server/app/services/activity/newHeroGKService.ts @@ -4,6 +4,7 @@ import { ActivityNewHeroGKModel, ActivityNewHeroGKModelType } from '../../db/Act import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { NewHeroGKData } from '../../domain/activityField/newHeroGKField'; +import { getActivityById } from './activityService'; /** @@ -38,7 +39,7 @@ export async function newHeroGKActivity(serverId: number, roleId: string) { * */ export async function getPlayerNewHeroGKData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecord: ActivityNewHeroGKModelType = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); @@ -57,7 +58,7 @@ export async function getPlayerNewHeroGKData(activityId: number, serverId: numbe */ export async function challengeNewHeroGK(serverId: number, roleId: string, activityId: number, pageIndex: number, gk: number) { let isFirst = false; - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let playerRecords = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId); let records = playerRecords && playerRecords.records ? playerRecords.records : []; let { createTime } = await RoleModel.findByRoleId(roleId); diff --git a/game-server/app/services/activity/newHeroGachaService.ts b/game-server/app/services/activity/newHeroGachaService.ts index d31a30105..11fa75670 100644 --- a/game-server/app/services/activity/newHeroGachaService.ts +++ b/game-server/app/services/activity/newHeroGachaService.ts @@ -4,6 +4,7 @@ import { ActivityNewHeroGachaModel, ActivityNewHeroGachaModelType } from '../../ import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { NewHeroGachaData } from '../../domain/activityField/newHeroGachaField'; +import { getActivityById } from './activityService'; /** @@ -38,7 +39,7 @@ export async function newHeroGachaActivity(serverId: number, roleId: string) { * */ export async function getPlayerNewHeroGachaData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecord: ActivityNewHeroGachaModelType = await ActivityNewHeroGachaModel.findData(serverId, activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); diff --git a/game-server/app/services/activity/newHeroGiftsService.ts b/game-server/app/services/activity/newHeroGiftsService.ts index d76da3351..49dc3a882 100644 --- a/game-server/app/services/activity/newHeroGiftsService.ts +++ b/game-server/app/services/activity/newHeroGiftsService.ts @@ -4,6 +4,7 @@ import { ActivityNewHeroGiftModel, ActivityNewHeroGiftModelType } from '../../db import { NewHeroGiftData } from '../../domain/activityField/newHeroGiftField'; import { ServerlistModel } from '../../db/Serverlist'; import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -35,7 +36,7 @@ export async function getNewHeroGiftsActivity(serverId: number, roleId: string) * */ export async function getPlayerNewHeroGiftsData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new NewHeroGiftData(activityData, createTime); diff --git a/game-server/app/services/activity/popUpShopService.ts b/game-server/app/services/activity/popUpShopService.ts index 6d8bd61d2..4c50f4b27 100644 --- a/game-server/app/services/activity/popUpShopService.ts +++ b/game-server/app/services/activity/popUpShopService.ts @@ -6,6 +6,7 @@ import { addReward, stringToRewardParam } from './giftPackageService'; import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../../db/ActivityPopUpShop'; import { ServerlistModel } from '../../db/Serverlist'; import moment = require('moment'); +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -37,7 +38,7 @@ export async function popUpShopActivity(serverId: number, roleId: string) { * */ export async function getPlayerPopUpShopData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecords: ActivityPopUpShopModelType[] = await ActivityPopUpShopModel.findAllOpenData(serverId, activityId, roleId); let allPlayerShop = []; @@ -74,7 +75,7 @@ export async function makePopUpShopReward(roleId: string, roleName: string, sid: let paramObj = JSON.parse(paramStr); let beginTime = moment(paramObj.beginTimeStamp).toDate(); - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (!activityData) { return STATUS.ACTIVITY_MISSING; } diff --git a/game-server/app/services/activity/rechargeMoneyService.ts b/game-server/app/services/activity/rechargeMoneyService.ts index ca71669bf..09b4e8989 100644 --- a/game-server/app/services/activity/rechargeMoneyService.ts +++ b/game-server/app/services/activity/rechargeMoneyService.ts @@ -5,6 +5,7 @@ import { RechargeMoneyData } from '../../domain/activityField/rechargeMoneyField import moment = require('moment'); import { ServerlistModel } from '../../db/Serverlist'; import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -44,7 +45,7 @@ export async function rechargeMoneyActivity(serverId: number, roleId: string) { * */ export async function getPlayerRechargeMoneyData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); diff --git a/game-server/app/services/activity/refreshShopService.ts b/game-server/app/services/activity/refreshShopService.ts index 7d7314d7e..3b106250e 100644 --- a/game-server/app/services/activity/refreshShopService.ts +++ b/game-server/app/services/activity/refreshShopService.ts @@ -6,6 +6,7 @@ import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { RefreshShopData } from '../../domain/activityField/refreshShopField'; import { deltaDays } from '../../pubUtils/util'; +import { getActivityById } from './activityService'; import { addReward, stringToRewardParam } from './giftPackageService'; /** @@ -46,7 +47,7 @@ export async function getRefreshShopActivity(serverId: number, roleId: string) { * */ export async function getPlayerRefreshShopData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new RefreshShopData(activityData, createTime); @@ -69,7 +70,7 @@ export async function getPlayerRefreshShopData(activityId: number, serverId: num * */ export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, serverId: number, roleId: string, roundIndex: number) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new RefreshShopData(activityData, createTime); playerData.roundIndex = roundIndex; @@ -113,7 +114,7 @@ export async function newPlayerActivityDays(roleId: string) { */ export async function makeRefreshShopReward(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string, roundIndex: number) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (!activityData) { return STATUS.ACTIVITY_MISSING; } diff --git a/game-server/app/services/activity/refreshTaskService.ts b/game-server/app/services/activity/refreshTaskService.ts index e49458b0b..2d04c49c2 100644 --- a/game-server/app/services/activity/refreshTaskService.ts +++ b/game-server/app/services/activity/refreshTaskService.ts @@ -5,6 +5,7 @@ import { ActivityRefreshTaskPointModel, ActivityRefreshTaskPointModelType } from import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { RefreshTaskData } from '../../domain/activityField/refreshTaskField'; +import { getActivityById } from './activityService'; /** @@ -40,7 +41,7 @@ export async function getRefreshTaskActivity(serverId: number, roleId: string) { * */ export async function getPlayerRefreshTaskData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new RefreshTaskData(activityData, createTime); let playerRecords: ActivityRefreshTaskModelType[] = await ActivityRefreshTaskModel.findData(serverId, activityId, roleId, playerData.roundIndex); diff --git a/game-server/app/services/activity/selfServiceShopActivityService.ts b/game-server/app/services/activity/selfServiceShopActivityService.ts index dfa622acd..e3205a984 100644 --- a/game-server/app/services/activity/selfServiceShopActivityService.ts +++ b/game-server/app/services/activity/selfServiceShopActivityService.ts @@ -9,6 +9,7 @@ import { SelfServiceShopData, SelfServiceShopItem } from '../../domain/activityF import { addReward, stringToRewardParam } from './giftPackageService'; import moment = require('moment'); import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -41,7 +42,7 @@ export async function getSelfServiceShopActivityData(serverId: number, roleId: s * */ export async function getPlayerActivityData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new SelfServiceShopData(activityData, createTime); @@ -120,7 +121,7 @@ export async function addSelfServiceShopGiftReward(roleId: string, roleName: str export async function makeSelfServerShop(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (!activityData) { return { code: STATUS.ACTIVITY_MISSING, diff --git a/game-server/app/services/activity/sevenDaysService.ts b/game-server/app/services/activity/sevenDaysService.ts index 5e4ec940c..9e99c78d7 100644 --- a/game-server/app/services/activity/sevenDaysService.ts +++ b/game-server/app/services/activity/sevenDaysService.ts @@ -7,6 +7,7 @@ import { SevenDaysData } from '../../domain/activityField/sevenDaysField'; import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges'; import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts'; import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -50,7 +51,7 @@ export async function sevenDaysActivity(serverId: number, roleId: string, type: * */ export async function getPlayerSevenDaysData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new SevenDaysData(activityData, createTime) //成长数据 @@ -78,7 +79,7 @@ export async function getPlayerSevenDaysData(activityId: number, serverId: numbe * */ export async function getPlayerSevenDaysGrowthData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new SevenDaysData(activityData, createTime) //成长数据 @@ -100,7 +101,7 @@ export async function getPlayerSevenDaysGrowthData(activityId: number, serverId: * */ export async function getPlayerSevenDaysDailyChallengesData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new SevenDaysData(activityData, createTime) //今日挑战 @@ -118,7 +119,7 @@ export async function getPlayerSevenDaysDailyChallengesData(activityId: number, * */ export async function getPlayerSevenDaysDailyGiftsData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new SevenDaysData(activityData, createTime) diff --git a/game-server/app/services/activity/signInService.ts b/game-server/app/services/activity/signInService.ts index 28068daf9..41bd2ee49 100644 --- a/game-server/app/services/activity/signInService.ts +++ b/game-server/app/services/activity/signInService.ts @@ -5,6 +5,7 @@ import { ActivitySignInModel, ActivitySignInModelType } from '../../db/ActivityS import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { SignInData } from '../../domain/activityField/signInField'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -116,7 +117,7 @@ export async function newPlayerSignInActivity(serverId: number, roleId: string) * */ export async function getPlayerSignInData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP && activityData.type !== ACTIVITY_TYPE.SIGN_IN && activityData.type !== ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN && activityData.type !== ACTIVITY_TYPE.COMMON_SIGN_IN) { return null; @@ -155,7 +156,7 @@ export async function getPlayerSignInData(activityId: number, serverId: number, */ export async function makeSignInVIP(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) { return STATUS.ACTIVITY_TYPE_ERROR; } diff --git a/game-server/app/services/activity/thirtyDaysService.ts b/game-server/app/services/activity/thirtyDaysService.ts index 10b9b00b2..57542973b 100644 --- a/game-server/app/services/activity/thirtyDaysService.ts +++ b/game-server/app/services/activity/thirtyDaysService.ts @@ -6,6 +6,7 @@ import { RoleModel } from '../../db/Role'; import moment = require('moment'); import { deltaDays } from '../../pubUtils/util'; import { ServerlistModel } from '../../db/Serverlist'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -37,7 +38,7 @@ export async function thirtyDaysActivity(type: number, serverId: number, roleId: * */ export async function getPlayerThirtyDaysData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); @@ -63,7 +64,7 @@ export async function getPlayerThirtyDaysData(activityId: number, serverId: numb * */ export async function addPlayerThirtyDaysTask(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); diff --git a/game-server/app/services/activity/treasureHuntService.ts b/game-server/app/services/activity/treasureHuntService.ts index 13acd336f..06768c7b6 100644 --- a/game-server/app/services/activity/treasureHuntService.ts +++ b/game-server/app/services/activity/treasureHuntService.ts @@ -12,6 +12,7 @@ import { deltaDays } from '../../pubUtils/util'; import { addReward, stringToRewardParam } from './giftPackageService'; import { RewardParam } from '../../domain/activityField/rewardField'; import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -84,7 +85,7 @@ export async function treasureHuntTaskActivity(serverId: number, roleId: string) * */ export async function getPlayerTreasureHuntData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new TreasureHuntData(activityData, createTime); @@ -106,7 +107,7 @@ export async function getPlayerTreasureHuntData(activityId: number, serverId: nu } export async function getPlayerTreasureHuntFirstPageData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new TreasureHuntData(activityData, createTime); @@ -121,7 +122,7 @@ export async function getPlayerTreasureHuntFirstPageData(activityId: number, ser } export async function getPlayerTreasureHuntShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new TreasureHuntData(activityData, createTime); @@ -136,7 +137,7 @@ export async function getPlayerTreasureHuntShopData(activityId: number, serverId } export async function getPlayerTreasureHuntTaskData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new TreasureHuntData(activityData, createTime); @@ -151,7 +152,7 @@ export async function getPlayerTreasureHuntTaskData(activityId: number, serverId } export async function getPlayerTreasureHuntChallengeData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new TreasureHuntData(activityData, createTime); @@ -164,7 +165,7 @@ export async function getPlayerTreasureHuntChallengeData(activityId: number, ser } export async function getPlayerTreasureHuntTreasureShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new TreasureHuntData(activityData, createTime); @@ -190,7 +191,7 @@ export async function getTreasureHuntData(serverId: number, roleId: string) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex); - activityData = await ActivityModel.findActivity(huntActivityId); + activityData = await getActivityById(huntActivityId); return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } if (now > tempData.huntEndTime) {//活动过期 @@ -199,11 +200,11 @@ export async function getTreasureHuntData(serverId: number, roleId: string) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex); - activityData = await ActivityModel.findActivity(huntActivityId); + activityData = await getActivityById(huntActivityId); return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } if (!activityData) { - activityData = await ActivityModel.findActivity(tempData.huntActivityId); + activityData = await getActivityById(tempData.huntActivityId); } return { huntActivityId: tempData.huntActivityId, diff --git a/game-server/app/services/activity/vipRechargeMoneyService.ts b/game-server/app/services/activity/vipRechargeMoneyService.ts index 1b2deb44a..7548e229e 100644 --- a/game-server/app/services/activity/vipRechargeMoneyService.ts +++ b/game-server/app/services/activity/vipRechargeMoneyService.ts @@ -4,6 +4,7 @@ import { ActivityVipRechargeMoneyModel, ActivityVipRechargeMoneyModelType } from import { VipRechargeMoneyData } from '../../domain/activityField/vipRechargeMoneyField'; import { ServerlistModel } from '../../db/Serverlist'; import { RoleModel } from '../../db/Role'; +import { getActivityById } from './activityService'; /** * 获取活动数据 @@ -37,7 +38,7 @@ export async function vipRechargeMoneyActivity(serverId: number, roleId: string) * */ export async function getPlayerVipRechargeMoneyData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); if (!activityData) { return null; } diff --git a/game-server/app/services/activity/yuanbaoService.ts b/game-server/app/services/activity/yuanbaoService.ts index 616f59871..1a5d40dd9 100644 --- a/game-server/app/services/activity/yuanbaoService.ts +++ b/game-server/app/services/activity/yuanbaoService.ts @@ -5,6 +5,7 @@ import { ServerlistModel } from '../../db/Serverlist'; import { UserOrderModel, UserOrderModelType } from '../../db/UserOrder'; import { RewardParam } from '../../domain/activityField/rewardField'; import { YuanBaoShopData } from '../../domain/activityField/yuanBaoShopField'; +import { getActivityById } from './activityService'; import { addReward, stringToRewardParam } from './giftPackageService'; /** @@ -39,7 +40,7 @@ export async function yuanbaoActivity(serverId: number, roleId: string) { * */ export async function getPlayerYuanbaoShopData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData = await getActivityById(activityId); let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityId, roleId); let { createTime } = await RoleModel.findByRoleId(roleId); @@ -61,7 +62,7 @@ export async function getPlayerYuanbaoShopData(activityId: number, serverId: num export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, productID: string) { let records = await UserOrderModel.findSuccessOrderByProductID(productID, roleId, activityId); - let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); + let activityData: ActivityModelType = await getActivityById(activityId); if (activityData.type !== ACTIVITY_TYPE.YUAN_BAO_SHOP) { return STATUS.ACTIVITY_TYPE_ERROR; } diff --git a/shared/db/Activity.ts b/shared/db/Activity.ts index 3de0b1caf..2874d462e 100644 --- a/shared/db/Activity.ts +++ b/shared/db/Activity.ts @@ -33,6 +33,12 @@ export default class Activity extends BaseModel { @prop({ required: true }) interval: number; // 周期性活动时间间隔,秒 + // 获取正在开启和即将到来的活动列表 + public static async findOpenAndComingActivityes() { + let now = new Date(); + let result: ActivityModelType[] = await ActivityModel.find({ endTime: { $gte: now } }).lean(); + return result; + } //根据活动类型查询开启的活动数据 public static async findOpenActivityByType(activityGroupId: number[], type: number, date: Date) {