diff --git a/game-server/app/services/activity/monthlyTicketService.ts b/game-server/app/services/activity/monthlyTicketService.ts index 753c4b196..2024a88e2 100644 --- a/game-server/app/services/activity/monthlyTicketService.ts +++ b/game-server/app/services/activity/monthlyTicketService.ts @@ -120,8 +120,8 @@ export async function makeMonthlyTicketReward(roleId: string, roleName: string, let { createTime } = await RoleModel.findByRoleId(roleId); let playerData = new MonthlyTicketData(activityData, createTime); - let endTime = playerData.isForever? moment(new Date()).startOf('d').add(playerData.days, 'day').toDate(): null; - console.log('endTime', moment(new Date()).startOf('d'), endTime, playerData.days) + let endTime = playerData.isForever? moment(playerData.endTime).toDate(): moment(new Date()).startOf('d').add(playerData.days, 'day').toDate(); + console.log('endTime', playerData.isForever, moment(new Date()).startOf('d'), endTime, playerData.days) await ActivityMonthlyTicketModel.buyMonthlyTicket(serverId, roleId, activityId, activityData.type, endTime, playerData.isForever) if(activityData.type == ACTIVITY_TYPE.MONTHLY_TICKET_2) { let role = await RoleModel.buyForeverTicket(roleId); diff --git a/shared/domain/activityField/monthlyTicketField.ts b/shared/domain/activityField/monthlyTicketField.ts index fd41b4ee7..de16d8368 100644 --- a/shared/domain/activityField/monthlyTicketField.ts +++ b/shared/domain/activityField/monthlyTicketField.ts @@ -1,4 +1,5 @@ import moment = require('moment'); +import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModelType } from '../../db/Activity'; import { ActivityMonthlyTicketModelType } from '../../db/ActivityMonthlyTicket'; import { deltaDays } from '../../pubUtils/util'; @@ -9,7 +10,6 @@ interface MonthlyTickerInDb { id: number; // 序列 productID: string; // 商品id vip月卡商品ID price: number ; // 价格 - isForever: boolean; // 是否是永久卡 days: number; // 持续天数,永久卡的话这里填0 baseReward: string; // 每天领取的奖励 "2&1&1" firstReward: string;// 首次购买获得的奖励 "2&1&1" @@ -38,7 +38,8 @@ export class MonthlyTicketData extends ActivityBase { constructor(activityData: ActivityModelType, createTime: number) { super(activityData, createTime) - this.initData(activityData.data) + this.initData(activityData.data); + this.isForever = activityData.type == ACTIVITY_TYPE.MONTHLY_TICKET_2; } public initData(data: string) { @@ -53,7 +54,6 @@ export class MonthlyTicketData extends ActivityBase { this.firstReward = dataObj.firstReward; this.imageName = dataObj.imageName; this.rebate = dataObj.rebate; - this.isForever = dataObj.isForever; } //解析玩家领取记录