活动:修改老接口

This commit is contained in:
qiaoxin
2021-05-31 14:40:09 +08:00
parent cb7c930d46
commit 45126d296f
3 changed files with 53 additions and 70 deletions
@@ -9,6 +9,8 @@ import { ActivityThirtyDaysPointRewardModel } from '../../../db/ActivityThirtyDa
import moment = require('moment'); import moment = require('moment');
import { ActivityModel, ActivityModelType } from '../../../db/Activity'; import { ActivityModel, ActivityModelType } from '../../../db/Activity';
import { ServerlistModel } from '../../../db/Serverlist'; import { ServerlistModel } from '../../../db/Serverlist';
import { addReward, stringToRewardParam } from '../../../services/giftPackageService';
import { RewardParam } from '../../../domain/activityField/rewardField';
export default function (app: Application) { export default function (app: Application) {
return new ThirtyDaysHandler(app); return new ThirtyDaysHandler(app);
@@ -94,17 +96,15 @@ export class ThirtyDaysHandler {
} }
await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex); 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<RewardParam> = 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); await ActivityThirtyDaysPointRewardModel.addRecord(activityId, roleId, cellIndex);
let reward = thirtyDaysPointItemData.goodReward();
let goods = await addItems(roleId, roleName, sid, reward); let reward = thirtyDaysPointItemData.reward
let heroReward = thirtyDaysPointItemData.heroReward(); if (thirtyDaysPointItemData.isExpired && thirtyDaysPointItemData.expiredReward && thirtyDaysPointItemData.expiredReward != '') {//过期奖励
let addHeros = []; reward = thirtyDaysPointItemData.expiredReward;
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<RewardParam> = 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,
}));
} }
} }
@@ -59,11 +59,11 @@ export class DailyRMBGiftsData extends ActivityBase {
} }
} }
if (endTime) {//DAILYRMBGIFTS_DAYS天内有购买过一次性礼包结束时间 if (endTime) {//DAILYRMBGIFTS_DAYS天内有购买过一次性礼包结束时间
// if (moment(new Date()).toDate() < endTime) { if (new Date() < endTime) {
// for (let item of this.list) { for (let item of this.list) {
// item.isBuy = true; item.isBuy = true;
// } }
// } }
this.receiveCount = deltaDays(new Date, endTime) + (isOver ? 0 : 1); this.receiveCount = deltaDays(new Date, endTime) + (isOver ? 0 : 1);
} }
} }
+26 -46
View File
@@ -25,34 +25,34 @@ export class ThirtyDaysPointItem {
this.expiredReward = data.expiredReward; this.expiredReward = data.expiredReward;
} }
public heroReward(): CreateHeroParam[] { // public heroReward(): CreateHeroParam[] {
let data = this.reward; // let data = this.reward;
if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励 // if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励
data = this.expiredReward; // data = this.expiredReward;
} // }
let rewardArray = []; // let rewardArray = [];
let rewardData = data.split('|').filter(obj => { return obj && obj != '' }); // let rewardData = data.split('|').filter(obj => { return obj && obj != '' });
for (let objStr of rewardData) { // for (let objStr of rewardData) {
let reward = parseHeroStrWithType(objStr); // let reward = parseHeroStrWithType(objStr);
rewardArray.push(reward); // rewardArray.push(reward);
} // }
return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.HERO }) // return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.HERO })
} // }
public goodReward(): RewardInter[] { // public goodReward(): RewardInter[] {
let data = this.reward; // let data = this.reward;
if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励 // if (this.isExpired && this.expiredReward && this.expiredReward != '') {//过期奖励
data = this.expiredReward; // data = this.expiredReward;
} // }
let rewardArray = []; // let rewardArray = [];
let rewardData = data.split('|').filter(obj => { return obj && obj != '' }); // let rewardData = data.split('|').filter(obj => { return obj && obj != '' });
for (let objStr of rewardData) { // for (let objStr of rewardData) {
let reward = parseGoodStrWithType(objStr); // let reward = parseGoodStrWithType(objStr);
rewardArray.push(reward); // rewardArray.push(reward);
} // }
return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.GOODS }) // return rewardArray.filter(obj => { return obj && obj.type == ACTIVITY_RESOURCES_TYPE.GOODS })
} // }
} }
@@ -83,26 +83,6 @@ export class ThirtyDaysItem {
this.taskParamArray = splitString(data.taskParam, '&') 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 { public canReceive(): boolean {
return !this.isReceive; return !this.isReceive;
} }