From f92972408e7fa99df48a999b1c0279316d4b9243 Mon Sep 17 00:00:00 2001 From: qiaoxin Date: Wed, 1 Dec 2021 14:44:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B4=BB=E5=8A=A8=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../servers/activity/handler/dailyMealHandler.ts | 4 ++-- .../app/services/activity/dailyMealService.ts | 8 ++++---- shared/db/ActivityDailyMeal.ts | 13 +++++++++---- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/game-server/app/servers/activity/handler/dailyMealHandler.ts b/game-server/app/servers/activity/handler/dailyMealHandler.ts index e7609f5a7..aa2ce1cd4 100644 --- a/game-server/app/servers/activity/handler/dailyMealHandler.ts +++ b/game-server/app/servers/activity/handler/dailyMealHandler.ts @@ -52,7 +52,7 @@ export class DailyMealHandler { const serverId = session.get('serverId'); const sid = session.get('sid'); const roleName = session.get('roleName'); - + let playerData = await getPlayerDailyMealData(activityId, serverId, roleId) if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); @@ -77,7 +77,7 @@ export class DailyMealHandler { //免费期间 let rewardParamArr: Array = stringToRewardParam(itemData.reward); let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr) - await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate); + await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate, playerData.roundIndex); itemData.isReceive = true; return resResult(STATUS.SUCCESS, Object.assign(result, { param: { activityId, type }, diff --git a/game-server/app/services/activity/dailyMealService.ts b/game-server/app/services/activity/dailyMealService.ts index 505ea680b..d134f9f11 100644 --- a/game-server/app/services/activity/dailyMealService.ts +++ b/game-server/app/services/activity/dailyMealService.ts @@ -25,8 +25,8 @@ export async function dailyMealActivity(serverId: number, roleId: string) { let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyMealData(activityData, createTime); - let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime); - let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime); + let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.roundIndex); + let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.roundIndex); playerData.setPlayerRecords(playerLunchRecords.concat(playerDinnerRecords)); return playerData; } @@ -45,8 +45,8 @@ export async function getPlayerDailyMealData(activityId: number, serverId: numbe let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyMealData(activityData, createTime); - let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime); - let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime); + let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.roundIndex); + let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.roundIndex); playerData.setPlayerRecords(playerLunchRecords.concat(playerDinnerRecords)); return playerData; } diff --git a/shared/db/ActivityDailyMeal.ts b/shared/db/ActivityDailyMeal.ts index 9198f63ae..a99e8116f 100644 --- a/shared/db/ActivityDailyMeal.ts +++ b/shared/db/ActivityDailyMeal.ts @@ -17,26 +17,31 @@ export default class Activity_Daily_Meal extends BaseModel { receiveTime: number; // 领取时间 @prop({ required: true }) type: number; // 1午餐、2晚餐类型 + @prop({ required: true }) + roundIndex: number; // 周期数 + + //领取记录 - public static async addReceiveRecord(serverId: number, activityId: number, roleId: string, type: number, receiveTime: number) { + public static async addReceiveRecord(serverId: number, activityId: number, roleId: string, type: number, receiveTime: number, roundIndex: number) { await ActivityDailyMealModel.insertMany([ { serverId, activityId, roleId, receiveTime, - type + type, + roundIndex, } ]) } //根据活动时间查询活动数据 - public static async findData(serverId: number, activityId: number, roleId: string, type: number, beginTime: number, endTime: number) { + public static async findData(serverId: number, activityId: number, roleId: string, type: number, roundIndex: number) { let result: ActivityDailyMealModelType[] = await ActivityDailyMealModel.find({ serverId, roleId, activityId, type, - receiveTime: { $gt: beginTime, $lt: endTime } + roundIndex: roundIndex, }).lean(true); return result; }