活动:添加节日活动-刷新商店、刷新任务

This commit is contained in:
qiaoxin
2021-06-17 16:49:55 +08:00
parent 045ce1bf77
commit c04c363dec
14 changed files with 749 additions and 5 deletions

View File

@@ -29,6 +29,8 @@ import { ActivityPopUpShopRecordModel, ActivityPopUpShopRecordModelType } from '
import { SevenDaysData } from '../domain/activityField/sevenDaysField';
import moment = require("moment");
import { GuildModel } from '../db/Guild';
import { RefreshTaskData } from '../domain/activityField/refreshTaskField';
import { ActivityRefreshTaskModel } from '../db/ActivityRefreshTask';
@@ -645,6 +647,36 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
}
}
//刷新任务统计
allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.REFRESH_TASK, new Date());
for (let activity of allActivity) {
let taskActivity = new RefreshTaskData(activity);
let taskArray = taskActivity.findTaskByType(taskType);
for (let task of taskArray) {
let taskRecord = await ActivityRefreshTaskModel.findDataById(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType)
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, parma, recordData);
if (addCount) {
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
let playerRecord = await ActivityRefreshTaskModel.setTaskCount(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType, addCount);
//推送
task.totalCount = playerRecord.totalCount;
task.receiveRewardCount = playerRecord.receiveRewardCount ? playerRecord.receiveRewardCount : 0;
pushMessage = pushMessage.concat(Object.assign(task, { activityId: taskActivity.activityId }));
} else {
let playerRecord = await ActivityRefreshTaskModel.addTaskCount(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType, addCount);
//推送
task.totalCount = playerRecord.totalCount;
task.receiveRewardCount = playerRecord.receiveRewardCount ? playerRecord.receiveRewardCount : 0;
pushMessage = pushMessage.concat(Object.assign(task, { activityId: taskActivity.activityId }));
}
}
if (record) {
await ActivityRefreshTaskModel.addTaskRecord(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType, JSON.stringify(record));
}
}
}
//寻宝骑兵活动任务
let tempData: ServerTempModelType = await ServerTempModel.findData(serverId);
if (tempData) {