活动:添加新任务类型

This commit is contained in:
qiaoxin
2021-06-04 18:35:29 +08:00
parent 2bf3122463
commit fe73748cd7
9 changed files with 116 additions and 25 deletions

View File

@@ -502,7 +502,7 @@ export async function accomplishTask(serverId: number, roleId: string, 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) {
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
await ActivityGrowthModel.setTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
} else {
await ActivityGrowthModel.addTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
@@ -524,7 +524,7 @@ export async function accomplishTask(serverId: number, roleId: string, 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) {
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
await ActivityDailyChallengesModel.setTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
} else {
await ActivityDailyChallengesModel.addTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount);
@@ -541,6 +541,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
taskType === TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT ||
taskType === TASK_TYPE.HERO_WAKE_UP_COUNT ||
taskType === TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT ||
taskType === TASK_TYPE.HERO_QUALITY ||
taskType === TASK_TYPE.EQUIP_STRENGTHEN ||
taskType === TASK_TYPE.EQUIP_REFINE_LV ||
@@ -589,15 +590,15 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
for (let task of allTaskData) {
if (task.taskType == taskType) {
let popShopData = new PopUpShopData(task, activity.activityId);
let taskRecord = await ActivityPopUpShopModel.findOpenDataByTaskId(serverId, activity.activityId, roleId, popShopData.id, popShopData.taskType)
let taskRecord = await ActivityPopUpShopModel.findDataByTaskId(serverId, activity.activityId, roleId, popShopData.id, popShopData.taskType)
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null
if (!taskRecord || !taskRecord.isPush) {
let { addCount, record } = isComplete(roleId, task.taskType, task.taskParam, count, parma, recordData);
if (addCount) {
let beginTime = new Date();
let endTime = moment(new Date()).add(task.duration, 'h').toDate();
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE) {
let playerRecord = await ActivityPopUpShopModel.addTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount);
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE || taskType == TASK_TYPE.BATTLE_TOWER_LV) {
let playerRecord = await ActivityPopUpShopModel.setTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount);
//推送
if (task.condition <= playerRecord.totalCount) {
playerRecord = await ActivityPopUpShopModel.pushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, beginTime, endTime);
@@ -852,7 +853,41 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
}
case TASK_TYPE.BATTLE_TOWER_LV://{towerLv}
{
addCount = paramObj.towerLv;
let towerLv = paramObj.towerLv;
console.log('dddddddd', recordData, towerLv)
if (recordData) {
console.log('dddddddd22', recordData)
if (recordData >= towerLv) {
console.log('dddddddd22333', recordData)
break;
}
}
record = towerLv;
addCount = towerLv;
break;
}
case TASK_TYPE.BATTLE_MAIN_ELITE:
{
if (paramObj.mainEliteWarId == param[1]) {
addCount = count;
}
break;
}
case TASK_TYPE.BATTLE_DUNGEON_WAR:
{
if (paramObj.warId == param[1]) {
addCount = count;
}
break;
}
case TASK_TYPE.HERO_NUM:
{
addCount = count;
break;
}
case TASK_TYPE.PVP:
{
addCount = count;
break;
}
default: