活动:修改七天乐-成长活动的数据结构

This commit is contained in:
qiaoxin
2021-05-26 11:16:02 +08:00
parent f8f9d9d120
commit b44823c27d
4 changed files with 116 additions and 46 deletions

View File

@@ -3,7 +3,7 @@ import { resResult } from '../../../pubUtils/util';
import { STATUS, ACTIVITY_RESOURCES_TYPE } from '../../../consts';
import { getPlayerGrowthData } from '../../../services/growthService';
import { getPlayerDailyChallengesData } from '../../../services/dailyChallengesService';
import { GrowthItem } from '../../../domain/activityField/growthField';
import { GrowthItem, PointRewardItem } from '../../../domain/activityField/growthField';
import { addItems, createHeroes, handleCost } from '../../../services/rewardService';
import { ActivityGrowthModel } from '../../../db/ActivityGrowth';
import { DailyItem } from '../../../domain/activityField/dailyChallengesField';
@@ -13,6 +13,7 @@ import { ActivityDailyGiftsModel } from '../../../db/ActivityDailyGifts';
import { addReward, stringToRewardParam } from '../../../services/giftPackageService';
import { RewardParam } from '../../../domain/activityField/rewardField';
import { ActivityDailyChallengesModel } from '../../../db/ActivityDailyChallenges';
import { ActivityGrowthPointModel } from '../../../db/ActivityGrowthPoint';
export default function (app: Application) {
@@ -76,23 +77,20 @@ export class SevenDaysHandler {
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr)
growthItemData.receiveRewardCount = 1;
growthItemData.addPointCount = growthItemData.point;
playerData.totalPoint += growthItemData.point;
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, dayIndex, cellIndex, type },
item: growthItemData,
totalPoint: playerData.totalPoint
}));
}
/**
* @description 成长任务每天奖章兑换奖励
* @param {{ activityId: number, dayIndex: number}} msg
* @param {{ activityId: number, id: number}} msg
* @param {BackendSession} session
* @memberof SevenDaysHandler
*/
async getGrowthDayReward(msg: { activityId: number, dayIndex: number }, session: BackendSession) {
const { activityId, dayIndex } = msg;
async getGrowthDayReward(msg: { activityId: number, id: number }, session: BackendSession) {
const { activityId, id } = msg;
const roleId = session.get('roleId');
const serverId = session.get('serverId');
const sid = session.get('sid');
@@ -102,32 +100,27 @@ export class SevenDaysHandler {
let playerData = await getPlayerGrowthData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
let dayItemData: GrowthItem = playerData.findDayItem(dayIndex);
if (!dayItemData) {
let pointItemData: PointRewardItem = playerData.findPointItem(id);
if (!pointItemData) {
return resResult(STATUS.ACTIVITY_DATA_ERROR);
}
if (playerData.totalPoint - playerData.totalConsumePoint < dayItemData.consumePoint) {
if (playerData.getTotalPoint() < pointItemData.progress) {
return resResult(STATUS.ACTIVITY_NO_POINT);
}
if (dayItemData.getPointReward) {//已经领取过
if (pointItemData.getPointReward) {//已经领取过
return resResult(STATUS.ACTIVITY_REWARDED);
}
// if (playerData.today() != dayIndex) {
// return resResult(STATUS.ACTIVITY_TIME_ERROR);
// }
await ActivityGrowthModel.addDayRecord(serverId, activityId, roleId, dayIndex, 1);
await ActivityGrowthPointModel.addRecord(serverId, activityId, roleId, id);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dayItemData.reward);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(pointItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr)
dayItemData.getPointReward = true;
playerData.totalConsumePoint += dayItemData.consumePoint;
pointItemData.getPointReward = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, dayIndex },
item: dayItemData,
totalPoint: playerData.totalPoint
param: { activityId, id },
item: pointItemData,
}));
}