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 }); } }