活动:30目标任务统计

This commit is contained in:
qiaoxin
2021-05-07 20:23:32 +08:00
parent f32e6e312f
commit 6df47b0336
5 changed files with 130 additions and 62 deletions
+25 -10
View File
@@ -517,21 +517,24 @@ export async function accomplishTask(roleId: string, taskType: TASK_TYPE, count:
}
//30天任务统计
allActivity = await ActivityModel.findOpenActivityByType(ACTIVITY_TYPE.THIRTY_DAYS, new Date());
for (let activity of allActivity) {
let thirtyDaysActivity = new ThirtyDaysData(activity);
let taskArray = thirtyDaysActivity.findTaskByType(taskType);
for (let task of taskArray) {
let addCount = isComplete(roleId, task.taskType, task.taskParam, count, parma);
if (addCount) {
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE) {
await ActivityThirtyDaysModel.setTaskCount(thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount);
} else {
if (taskType === TASK_TYPE.HERO_QUALITY_STAR_UP ||
taskType === TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT ||
taskType === TASK_TYPE.HERO_WAKE_UP_COUNT ||
taskType === TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT) {
allActivity = await ActivityModel.findOpenActivityByType(ACTIVITY_TYPE.THIRTY_DAYS, new Date());
for (let activity of allActivity) {
let thirtyDaysActivity = new ThirtyDaysData(activity);
let taskArray = thirtyDaysActivity.findTaskByType(taskType);
for (let task of taskArray) {
let addCount = isComplete(roleId, task.taskType, task.taskParam, count, parma);
if (addCount) {
await ActivityThirtyDaysModel.addTaskCount(thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount);
}
}
}
}
}
/**
@@ -562,9 +565,21 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
case TASK_TYPE.HERO_NUM:
addCount = count;
break;
case TASK_TYPE.HERO_QUALITY_STAR_UP://herocount&quality&star&
addCount = (param[1] == paramObj.quality) && (param[2] == paramObj.star) ? count : 0;
break;
case TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT://herocount&quality&star& {oldQuality, quality: hero.quality}
addCount = (param[1] == paramObj.oldQuality) && (param[2] == paramObj.quality) ? count : 0;
break;
case TASK_TYPE.HERO_WAKE_UP_COUNT://herocount&quality
addCount = (param[1] == paramObj.quality) ? count : 0;
break;
case TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT://herocount&star&
addCount = (param[1] == paramObj.star) ? count : 0;
break;
case TASK_TYPE.ROLE_TITLE://重置数据
addCount = param[0] <= count ? count : 0;
break;