活动:添加节日活动-刷新商店、刷新任务
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user