diff --git a/game-server/app/servers/activity/handler/signInHandler.ts b/game-server/app/servers/activity/handler/signInHandler.ts index c584d4148..208e833f5 100644 --- a/game-server/app/servers/activity/handler/signInHandler.ts +++ b/game-server/app/servers/activity/handler/signInHandler.ts @@ -68,8 +68,10 @@ export class SignInHandler { if (dayIndex > playerData.todayIndex) { return resResult(STATUS.ACTIVITY_DAY_INDEX_OVER); } - //开服第一个月可以签到之前未领取的奖励,下个月只能签到当天奖励,补签 let isDelay = false;//补签 + if(dayIndex < playerData.todayIndex) { + isDelay = true; + } let roundIndex = playerData.roundIndex; //高级签到开启条件 diff --git a/shared/domain/activityField/signInField.ts b/shared/domain/activityField/signInField.ts index dcd2174c5..c34aa333e 100644 --- a/shared/domain/activityField/signInField.ts +++ b/shared/domain/activityField/signInField.ts @@ -32,8 +32,6 @@ export class SignInItem { // 签到活动数据 export class SignInData extends ActivityBase { list: Array = []; - roundIndex: number = 0;//活动周期 - todayIndex: number = 1; price: number = 0;//vip价格,普通签到为0 // rebet: number = 0; productID: string = '';//商品ID @@ -61,15 +59,17 @@ export class SignInData extends ActivityBase { let day: number[] = []; for(let obj of records) { let item = this.findDayItem(obj.dayIndex); - console.log('setPlayerRecords0', obj.dayIndex, item) if(item) { item.setReceive(true); - let time = getZeroPointOfTime(obj.time, SHOP_REFRESH_TYPE.DAILY, 0) - let today = getZeroPoint(SHOP_REFRESH_TYPE.DAILY, 0); - console.log('setPlayerRecords', time, today) - if(day.indexOf(time) == -1 && time < today) { - this.todayIndex++; - day.push(time); + + if(this.type == ACTIVITY_TYPE.SIGN_IN || this.type == ACTIVITY_TYPE.SIGN_IN_VIP) { + let time = getZeroPointOfTime(obj.time, SHOP_REFRESH_TYPE.DAILY, 0) + let today = getZeroPoint(SHOP_REFRESH_TYPE.DAILY, 0); + console.log('setPlayerRecords', time, today) + if(day.indexOf(time) == -1 && time < today) { + this.todayIndex++; + day.push(time); + } } } } @@ -95,6 +95,8 @@ export class SignInData extends ActivityBase { this.roundIndex = parseInt(moment().format('YYYYMM')); + } else if (this.type == ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN) { + this.roundIndex = 0; } let arr = dataObj.data