活动:修复七天乐任务

This commit is contained in:
luying
2022-05-06 16:15:34 +08:00
parent 9486a99a95
commit 58f2c98aec
5 changed files with 9 additions and 27 deletions
@@ -297,7 +297,7 @@ export function _getActivitiesByServerId(serverId: number) {
let result: ActivityInRemote[] = []; let result: ActivityInRemote[] = [];
for(let activityId of activityByServerId) { for(let activityId of activityByServerId) {
let activity = activities.get(activityId); let activity = activities.get(activityId);
if(activity && activity.beginTime <= Date.now()) { if(activity && activity.isEnable) {
result.push(activity); result.push(activity);
} }
} }
@@ -1,12 +1,9 @@
import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth'; import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth';
import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint'; import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint';
import { HeroModel } from '../../db/Hero';
import { ServerlistModel } from '../../db/Serverlist';
import { SevenDaysData } from '../../domain/activityField/sevenDaysField'; import { SevenDaysData } from '../../domain/activityField/sevenDaysField';
import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges'; import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges';
import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts'; import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts';
import { RoleModel } from '../../db/Role';
import { getActivitiesByType, getActivityById } from './activityService'; import { getActivitiesByType, getActivityById } from './activityService';
import { getRoleCreateTime, getServerCreateTime } from '../redisService'; 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 playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityData.activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId);
let userHeroes = await HeroModel.findByRole(roleId); playerData.growth.setPlayerRecords(playerGrowthRecords);
await playerData.growth.setPlayerRecords(playerGrowthRecords, roleId, userHeroes);
playerData.growth.setPlayerPointRecord(playerPointRecord); playerData.growth.setPlayerPointRecord(playerPointRecord);
//今日挑战 //今日挑战
let playerDailyChallengeRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityData.activityId, roleId); 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 playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
let userHeroes = await HeroModel.findByRole(roleId); playerData.growth.setPlayerRecords(playerGrowthRecords);
await playerData.growth.setPlayerRecords(playerGrowthRecords, roleId, userHeroes);
playerData.growth.setPlayerPointRecord(playerPointRecord); playerData.growth.setPlayerPointRecord(playerPointRecord);
//今日挑战 //今日挑战
let playerDailyChallengeRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId); 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 playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
let userHeroes = await HeroModel.findByRole(roleId); playerData.growth.setPlayerRecords(playerGrowthRecords);
await playerData.growth.setPlayerRecords(playerGrowthRecords, roleId, userHeroes);
playerData.growth.setPlayerPointRecord(playerPointRecord); playerData.growth.setPlayerPointRecord(playerPointRecord);
return playerData; return playerData;
} }
+3 -3
View File
@@ -528,9 +528,9 @@ export class CheckSingleTask {
} }
} }
if(index == -1) { if(index == -1) {
records[index] = `${hero.hid}_${count + stageUpCnt}`;
} else {
records.push(`${hero.hid}_${count + stageUpCnt}`); records.push(`${hero.hid}_${count + stageUpCnt}`);
} else {
records[index] = `${hero.hid}_${count + stageUpCnt}`;
} }
if( count < dicTaskParam[1] && count + stageUpCnt >= dicTaskParam[1]) { if( count < dicTaskParam[1] && count + stageUpCnt >= dicTaskParam[1]) {
result = { inc: 1, records } result = { inc: 1, records }
@@ -725,7 +725,7 @@ export class CheckSingleTask {
case TASK_TYPE.BATTLE_EXPEDITION_BOX: // 50. 领取x次远征 x宝箱 case TASK_TYPE.BATTLE_EXPEDITION_BOX: // 50. 领取x次远征 x宝箱
{ {
let { point } = param; let { point } = param;
if(dicTaskParam[0] == 0 || dicTaskParam[0] == point) { if(dicTaskParam[1] == 0 || dicTaskParam[1] == point) {
result = { inc: 1 }; result = { inc: 1 };
} }
break; break;
+1 -1
View File
@@ -24,7 +24,7 @@ export default class Donation extends BaseModel {
@prop({ required: true, default: 0}) @prop({ required: true, default: 0})
hisDonateFund: number; //历史捐赠最高 hisDonateFund: number; //历史捐赠最高
@prop({ required: true, type: Report, default:[] }) @prop({ required: true, type: Report, default:[], _id: false })
reports: Array<Report>; reports: Array<Report>;
@prop({ required: true, default: 0}) @prop({ required: true, default: 0})
+1 -13
View File
@@ -3,8 +3,6 @@ import { ActivityBase } from './activityField';
import { TASK_TYPE } from '../../consts'; import { TASK_TYPE } from '../../consts';
import { ActivityGrowthModelType } from '../../db/ActivityGrowth'; import { ActivityGrowthModelType } from '../../db/ActivityGrowth';
import { ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint'; import { ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint';
import { HeroType } from '../../db/Hero';
import { RoleModel } from '../../db/Role';
import { parseNumberList, splitString } from '../../pubUtils/util'; import { parseNumberList, splitString } from '../../pubUtils/util';
import { ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts'; import { ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts';
import { parseResStr } from '../../pubUtils/util'; import { parseResStr } from '../../pubUtils/util';
@@ -273,23 +271,13 @@ export class SevenDaysGrowthData {
} }
//解析玩家领取记录 //解析玩家领取记录
public async setPlayerRecords(data: ActivityGrowthModelType[], roleId: string, userHeroes: HeroType[]) { public setPlayerRecords(data: ActivityGrowthModelType[]) {
let { heroNum, towerLv } = await RoleModel.findByRoleId(roleId);
for (let obj of this.list) { for (let obj of this.list) {
let index = data.findIndex(record => { return obj.dayIndex == record.dayIndex && obj.cellIndex == record.cellIndex }) let index = data.findIndex(record => { return obj.dayIndex == record.dayIndex && obj.cellIndex == record.cellIndex })
if (index != -1) { if (index != -1) {
obj.totalCount = data[index].totalCount ? data[index].totalCount : 0; obj.totalCount = data[index].totalCount ? data[index].totalCount : 0;
obj.receiveRewardCount = data[index].receiveRewardCount ? data[index].receiveRewardCount : 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;
}
} }
} }