diff --git a/game-server/app/servers/activity/handler/limitPackageHandler.ts b/game-server/app/servers/activity/handler/limitPackageHandler.ts index 7c934bb64..7911425d1 100644 --- a/game-server/app/servers/activity/handler/limitPackageHandler.ts +++ b/game-server/app/servers/activity/handler/limitPackageHandler.ts @@ -1,7 +1,7 @@ import { Application, BackendSession } from 'pinus'; import { resResult } from '../../../pubUtils/util'; import { ACTIVITY_TYPE, FIRST_GIFT_STATE, STATUS } from '../../../consts'; -import { newPlayerLimitPackageActivity, getPlayerLimitPackageData } from '../../../services/limitPackageService'; +import { newPlayerLimitPackageActivity, getPlayerLimitPackageData, limitPackageActivity } from '../../../services/limitPackageService'; import { addReward, stringToRewardParam, useGiftPackage } from '../../../services/giftPackageService'; import { ActivityShopModel } from '../../../db/ActivityShop'; import moment = require('moment'); @@ -18,12 +18,12 @@ export class limitPackageHandler { /** * @description 获取新手限定活动数据 - * @param {{ }} msg + * @param {{ activityId:number}} msg * @param {BackendSession} session * @memberof limitPackageHandler */ - async getNewPlayerLimitPackageActivity(msg: {}, session: BackendSession) { - const { } = msg; + async getNewPlayerLimitPackageActivity(msg: { activityId: number }, session: BackendSession) { + const { activityId } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); @@ -34,6 +34,27 @@ export class limitPackageHandler { return resResult(STATUS.SUCCESS, { playerData }); } + /************************每日每周限购礼包****************************/ + + /** + * @description 获取每日/每周限购礼包数据 + * @param {{ activityId:number, type:number }} msg + * @param {BackendSession} session + * @memberof limitPackageHandler + */ + async getLimitPackageActivity(msg: { activityId: number, type: number }, session: BackendSession) { + const { activityId, type } = msg; + const roleId = session.get('roleId'); + const serverId = session.get('serverId'); + + let playerData = await limitPackageActivity(serverId, roleId, type); + if (!playerData) { + return resResult(STATUS.ACTIVITY_MISSING); + } + return resResult(STATUS.SUCCESS, { playerData }); + } + + /** * @description 购买礼包 * @param {{ activityId: number, roundIndex: number, id: number}} msg diff --git a/game-server/app/services/limitPackageService.ts b/game-server/app/services/limitPackageService.ts index f4b4a7547..4afdbd06a 100644 --- a/game-server/app/services/limitPackageService.ts +++ b/game-server/app/services/limitPackageService.ts @@ -15,7 +15,7 @@ import { LimitShopData, ShopItem } from '../domain/activityField/limitShopField' export async function newPlayerLimitPackageActivity(serverId: number, roleId: string) { let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE, new Date) activityArray = activityArray.sort((a, b) => { - return a.activityId - b.activityId + return b.activityId - a.activityId }); if (activityArray.length == 0) { return null; @@ -41,3 +41,26 @@ export async function getPlayerLimitPackageData(activityId: number, serverId: nu playerData.setPlayerRecords(playerRecord); return playerData; } + + +/** + * 获取每日/每周限购礼包数据 + * + * @param {number} serverId 区Id + * @param {number} type 活动类型 ACTIVITY_TYPE + * @param {string} roleId 角色Id + * + */ + +export async function limitPackageActivity(serverId: number, roleId: string, type: number) { + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(type, new Date) + activityArray = activityArray.sort((a, b) => { + return b.activityId - a.activityId + }); + if (activityArray.length == 0) { + return null; + } + let activityData = activityArray[0]; + let playerData = await getPlayerLimitPackageData(activityData.activityId, serverId, roleId); + return playerData +} diff --git a/shared/consts/constModules/activityConst.ts b/shared/consts/constModules/activityConst.ts index d7b0c0c3a..09836fef4 100644 --- a/shared/consts/constModules/activityConst.ts +++ b/shared/consts/constModules/activityConst.ts @@ -20,7 +20,8 @@ export enum ACTIVITY_TYPE { SELF_SERVICE_SHOP = 13, // 自选商店 FIRST_GIFT = 14, // 首充礼包 NEW_PLAYER_LIMIT_PACKAGE = 15, // 新手限定RMB购买礼包 - LIMIT_PACKAGE_SHOP = 16, // 限购礼包,RMB购买礼包 + LIMIT_PACKAGE_SHOP_DAILY = 16, // 每日限购礼包,RMB购买礼包 + LIMIT_PACKAGE_SHOP_WEEKLY = 17, // 每周限购礼包,RMB购买礼包 } /**