活动:修复七天乐任务

This commit is contained in:
luying
2022-05-06 16:15:24 +08:00
parent 9486a99a95
commit 58f2c98aec
5 changed files with 9 additions and 27 deletions

View File

@@ -297,7 +297,7 @@ export function _getActivitiesByServerId(serverId: number) {
let result: ActivityInRemote[] = [];
for(let activityId of activityByServerId) {
let activity = activities.get(activityId);
if(activity && activity.beginTime <= Date.now()) {
if(activity && activity.isEnable) {
result.push(activity);
}
}

View File

@@ -1,12 +1,9 @@
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth';
import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint';
import { HeroModel } from '../../db/Hero';
import { ServerlistModel } from '../../db/Serverlist';
import { SevenDaysData } from '../../domain/activityField/sevenDaysField';
import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges';
import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts';
import { RoleModel } from '../../db/Role';
import { getActivitiesByType, getActivityById } from './activityService';
import { getRoleCreateTime, getServerCreateTime } from '../redisService';
@@ -30,8 +27,7 @@ export async function sevenDaysActivity(serverId: number, roleId: string, type:
//成长数据
let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityData.activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId);
let userHeroes = await HeroModel.findByRole(roleId);
await playerData.growth.setPlayerRecords(playerGrowthRecords, roleId, userHeroes);
playerData.growth.setPlayerRecords(playerGrowthRecords);
playerData.growth.setPlayerPointRecord(playerPointRecord);
//今日挑战
let playerDailyChallengeRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityData.activityId, roleId);
@@ -59,8 +55,7 @@ export async function getPlayerSevenDaysData(activityId: number, serverId: numbe
//成长数据
let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
let userHeroes = await HeroModel.findByRole(roleId);
await playerData.growth.setPlayerRecords(playerGrowthRecords, roleId, userHeroes);
playerData.growth.setPlayerRecords(playerGrowthRecords);
playerData.growth.setPlayerPointRecord(playerPointRecord);
//今日挑战
let playerDailyChallengeRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId);
@@ -88,8 +83,7 @@ export async function getPlayerSevenDaysGrowthData(activityId: number, serverId:
//成长数据
let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
let userHeroes = await HeroModel.findByRole(roleId);
await playerData.growth.setPlayerRecords(playerGrowthRecords, roleId, userHeroes);
playerData.growth.setPlayerRecords(playerGrowthRecords);
playerData.growth.setPlayerPointRecord(playerPointRecord);
return playerData;
}

View File

@@ -528,9 +528,9 @@ export class CheckSingleTask {
}
}
if(index == -1) {
records[index] = `${hero.hid}_${count + stageUpCnt}`;
} else {
records.push(`${hero.hid}_${count + stageUpCnt}`);
} else {
records[index] = `${hero.hid}_${count + stageUpCnt}`;
}
if( count < dicTaskParam[1] && count + stageUpCnt >= dicTaskParam[1]) {
result = { inc: 1, records }
@@ -725,7 +725,7 @@ export class CheckSingleTask {
case TASK_TYPE.BATTLE_EXPEDITION_BOX: // 50. 领取x次远征 x宝箱
{
let { point } = param;
if(dicTaskParam[0] == 0 || dicTaskParam[0] == point) {
if(dicTaskParam[1] == 0 || dicTaskParam[1] == point) {
result = { inc: 1 };
}
break;

View File

@@ -24,7 +24,7 @@ export default class Donation extends BaseModel {
@prop({ required: true, default: 0})
hisDonateFund: number; //历史捐赠最高
@prop({ required: true, type: Report, default:[] })
@prop({ required: true, type: Report, default:[], _id: false })
reports: Array<Report>;
@prop({ required: true, default: 0})

View File

@@ -3,8 +3,6 @@ import { ActivityBase } from './activityField';
import { TASK_TYPE } from '../../consts';
import { ActivityGrowthModelType } from '../../db/ActivityGrowth';
import { ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint';
import { HeroType } from '../../db/Hero';
import { RoleModel } from '../../db/Role';
import { parseNumberList, splitString } from '../../pubUtils/util';
import { ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts';
import { parseResStr } from '../../pubUtils/util';
@@ -273,23 +271,13 @@ export class SevenDaysGrowthData {
}
//解析玩家领取记录
public async setPlayerRecords(data: ActivityGrowthModelType[], roleId: string, userHeroes: HeroType[]) {
let { heroNum, towerLv } = await RoleModel.findByRoleId(roleId);
public setPlayerRecords(data: ActivityGrowthModelType[]) {
for (let obj of this.list) {
let index = data.findIndex(record => { return obj.dayIndex == record.dayIndex && obj.cellIndex == record.cellIndex })
if (index != -1) {
obj.totalCount = data[index].totalCount ? data[index].totalCount : 0;
obj.receiveRewardCount = data[index].receiveRewardCount ? data[index].receiveRewardCount : 0;
}
if (obj.taskType === TASK_TYPE.HERO_NUM) {
obj.totalCount = heroNum;
} else if (obj.taskType === TASK_TYPE.HERO_LV) {
let lv = obj.taskParamArray[1];
let heroes = userHeroes.filter(hero => { return hero.lv >= lv })
obj.totalCount = heroes.length;
} else if (obj.taskType === TASK_TYPE.BATTLE_TOWER_LV) {
obj.totalCount = towerLv - 1;
}
}
}