From f2bb00637bb42f6fda2bbf0f53efc07b9e19c347 Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 3 Dec 2021 19:17:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=EF=BC=9A=E6=AF=8F=E6=97=A5?= =?UTF-8?q?=E5=85=91=E6=8D=A2=E9=93=9C=E9=92=B1=E4=B9=9F=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=AF=8F=E6=97=A5=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/handler/dailyCoinHandler.ts | 2 +- .../app/services/activity/dailyCoinService.ts | 4 ++-- shared/db/ActivityDailyCoin.ts | 18 ++++++++++-------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/game-server/app/servers/activity/handler/dailyCoinHandler.ts b/game-server/app/servers/activity/handler/dailyCoinHandler.ts index a25183a8a..dafd8c9a4 100644 --- a/game-server/app/servers/activity/handler/dailyCoinHandler.ts +++ b/game-server/app/servers/activity/handler/dailyCoinHandler.ts @@ -128,7 +128,7 @@ export class DailyCoinHandler { //免费期间 let time = moment(new Date()).valueOf(); let result = await addReward(roleId, roleName, sid, serverId, newReward) - await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.beginTime, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`); + await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.roundIndex, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`); let exchangeCount = playerData.exchangeCount + count; return resResult(STATUS.SUCCESS, Object.assign(result, { diff --git a/game-server/app/services/activity/dailyCoinService.ts b/game-server/app/services/activity/dailyCoinService.ts index a49285b95..f74f676f8 100644 --- a/game-server/app/services/activity/dailyCoinService.ts +++ b/game-server/app/services/activity/dailyCoinService.ts @@ -25,7 +25,7 @@ export async function dailyCoinActivity(serverId: number, roleId: string) { let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyCoinData(activityData, createTime); - let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime); + let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -44,7 +44,7 @@ export async function getPlayerDailyCoinData(activityId: number, serverId: numbe let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new DailyCoinData(activityData, createTime); - let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime); + let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex); playerData.setPlayerRecords(playerRecord); return playerData; } diff --git a/shared/db/ActivityDailyCoin.ts b/shared/db/ActivityDailyCoin.ts index 4949ac3a8..c9cbe655c 100644 --- a/shared/db/ActivityDailyCoin.ts +++ b/shared/db/ActivityDailyCoin.ts @@ -13,8 +13,8 @@ export default class Activity_Daily_Coin extends BaseModel { activityId: number; // 活动Id @prop({ required: true }) roleId: string; // 用户Id - @prop({ required: true }) - beginTime: number; // 开始统计的时间 + // @prop({ required: true }) + // beginTime: number; // 开始统计的时间 @prop({ required: true }) exchangeCount: number; // 兑换次数 @prop({ required: true }) @@ -22,26 +22,28 @@ export default class Activity_Daily_Coin extends BaseModel { @prop({ required: true }) recordMsg: string[]; // 兑换记录 exchangeCount&cointCount + @prop({ required: true }) + roundIndex: number; // 周期数 //兑换记录 - public static async addExchangeRecord(serverId: number, activityId: number, roleId: string, beginTime: number, count: number, coinCount: number, msg: string) { - let result = await ActivityDailyCoinModel.findOneAndUpdate({ serverId, activityId, roleId, beginTime }, + public static async addExchangeRecord(serverId: number, activityId: number, roleId: string, roundIndex: number, count: number, coinCount: number, msg: string) { + let result = await ActivityDailyCoinModel.findOneAndUpdate({ serverId, activityId, roleId, roundIndex }, { $inc: { exchangeCount: count, coinCount: coinCount }, $push: { recordMsg: msg } }, { upsert: true, new: true }).lean(true) return result; } //根据活动时间查询活动数据 - public static async findData(serverId: number, activityId: number, roleId: string, beginTime: number) { + public static async findData(serverId: number, activityId: number, roleId: string, roundIndex: number) { let result: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findOne({ - serverId, roleId, activityId, beginTime, + serverId, roleId, activityId, roundIndex, }).lean(true); return result; } //删除活动兑换记录 - public static async deleteActivity(serverId: number, activityId: number, roleId: string, beginTime: number) { - await ActivityDailyCoinModel.deleteMany({ serverId, roleId, activityId, beginTime }); + public static async deleteActivity(serverId: number, activityId: number, roleId: string, roundIndex: number) { + await ActivityDailyCoinModel.deleteMany({ serverId, roleId, activityId, roundIndex }); } }