diff --git a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts index 08ce17250..fbd7a9a07 100644 --- a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts +++ b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts @@ -9,6 +9,8 @@ import { ActivityThirtyDaysPointRewardModel } from '../../../db/ActivityThirtyDa import moment = require('moment'); import { ActivityModel, ActivityModelType } from '../../../db/Activity'; import { ServerlistModel } from '../../../db/Serverlist'; +import { addReward, stringToRewardParam } from '../../../services/giftPackageService'; +import { RewardParam } from '../../../domain/activityField/rewardField'; export default function (app: Application) { return new ThirtyDaysHandler(app); @@ -94,17 +96,15 @@ export class ThirtyDaysHandler { } await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex); - let reward = thirtyDaysItemData.goodReward(); - let goods = await addItems(roleId, roleName, sid, reward); - let heroReward = thirtyDaysItemData.heroReward(); - let addHeros = []; - if (heroReward.length > 0) { - let heroResult = await createHeroes(roleId, roleName, sid, serverId, funcs, heroReward); - goods = goods.concat(heroResult.goods) - addHeros = addHeros.concat(heroResult.heroes); - } - return resResult(STATUS.SUCCESS, { goods, addHeros }); + let rewardParamArr: Array = stringToRewardParam(thirtyDaysItemData.reward); + let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) + + thirtyDaysItemData.isReceive = true; + return resResult(STATUS.SUCCESS, Object.assign(result, { + param: { activityId, pageIndex, cellIndex }, + item: thirtyDaysItemData, + })); } /** @@ -136,16 +136,19 @@ export class ThirtyDaysHandler { } await ActivityThirtyDaysPointRewardModel.addRecord(activityId, roleId, cellIndex); - let reward = thirtyDaysPointItemData.goodReward(); - let goods = await addItems(roleId, roleName, sid, reward); - let heroReward = thirtyDaysPointItemData.heroReward(); - let addHeros = []; - if (heroReward.length > 0) { - let heroResult = await createHeroes(roleId, roleName, sid, serverId, funcs, heroReward); - goods = goods.concat(heroResult.goods) - addHeros = addHeros.concat(heroResult.heroes); + + let reward = thirtyDaysPointItemData.reward + if (thirtyDaysPointItemData.isExpired && thirtyDaysPointItemData.expiredReward && thirtyDaysPointItemData.expiredReward != '') {//过期奖励 + reward = thirtyDaysPointItemData.expiredReward; } - return resResult(STATUS.SUCCESS, { goods, addHeros }); + let rewardParamArr: Array = stringToRewardParam(reward); + let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) + + thirtyDaysPointItemData.isReceive = true; + return resResult(STATUS.SUCCESS, Object.assign(result, { + param: { activityId, cellIndex }, + item: thirtyDaysPointItemData, + })); } } diff --git a/shared/domain/activityField/dailyRMBGiftsField.ts b/shared/domain/activityField/dailyRMBGiftsField.ts index e4fce95b2..e419c5964 100644 --- a/shared/domain/activityField/dailyRMBGiftsField.ts +++ b/shared/domain/activityField/dailyRMBGiftsField.ts @@ -59,11 +59,11 @@ export class DailyRMBGiftsData extends ActivityBase { } } if (endTime) {//DAILYRMBGIFTS_DAYS天内有购买过一次性礼包结束时间 - // if (moment(new Date()).toDate() < endTime) { - // for (let item of this.list) { - // item.isBuy = true; - // } - // } + if (new Date() < endTime) { + for (let item of this.list) { + item.isBuy = true; + } + } this.receiveCount = deltaDays(new Date, endTime) + (isOver ? 0 : 1); } } diff --git a/shared/domain/activityField/thirtyDaysField.ts b/shared/domain/activityField/thirtyDaysField.ts index 9cac862c3..751855a54 100644 --- a/shared/domain/activityField/thirtyDaysField.ts +++ b/shared/domain/activityField/thirtyDaysField.ts @@ -25,34 +25,34 @@ export class ThirtyDaysPointItem { this.expiredReward = data.expiredReward; } - public heroReward(): CreateHeroParam[] { - let data = this.reward; - if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励 - data = this.expiredReward; - } + // public heroReward(): CreateHeroParam[] { + // let data = this.reward; + // if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励 + // data = this.expiredReward; + // } - let rewardArray = []; - let rewardData = data.split('|').filter(obj => { return obj && obj != '' }); - for (let objStr of rewardData) { - let reward = parseHeroStrWithType(objStr); - rewardArray.push(reward); - } - return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.HERO }) - } + // let rewardArray = []; + // let rewardData = data.split('|').filter(obj => { return obj && obj != '' }); + // for (let objStr of rewardData) { + // let reward = parseHeroStrWithType(objStr); + // rewardArray.push(reward); + // } + // return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.HERO }) + // } - public goodReward(): RewardInter[] { - let data = this.reward; - if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励 - data = this.expiredReward; - } - let rewardArray = []; - let rewardData = data.split('|').filter(obj => { return obj && obj != '' }); - for (let objStr of rewardData) { - let reward = parseGoodStrWithType(objStr); - rewardArray.push(reward); - } - return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.GOODS }) - } + // public goodReward(): RewardInter[] { + // let data = this.reward; + // if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励 + // data = this.expiredReward; + // } + // let rewardArray = []; + // let rewardData = data.split('|').filter(obj => { return obj && obj != '' }); + // for (let objStr of rewardData) { + // let reward = parseGoodStrWithType(objStr); + // rewardArray.push(reward); + // } + // return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.GOODS }) + // } } @@ -83,26 +83,6 @@ export class ThirtyDaysItem { this.taskParamArray = splitString(data.taskParam, '&') } - public heroReward(): CreateHeroParam[] { - let rewardArray = []; - let rewardData = this.reward.split('|').filter(obj => { return obj && obj != '' }); - for (let objStr of rewardData) { - let reward = parseHeroStrWithType(objStr); - rewardArray.push(reward); - } - return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.HERO }) - } - - public goodReward(): RewardInter[] { - let rewardArray = []; - let rewardData = this.reward.split('|').filter(obj => { return obj && obj != '' }); - for (let objStr of rewardData) { - let reward = parseGoodStrWithType(objStr); - rewardArray.push(reward); - } - return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.GOODS }) - } - public canReceive(): boolean { return !this.isReceive; }