活动:修复七天乐任务
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user