diff --git a/shared/domain/activityField/popUpShopField.ts b/shared/domain/activityField/popUpShopField.ts index b6d8a182d..c40bcaeca 100644 --- a/shared/domain/activityField/popUpShopField.ts +++ b/shared/domain/activityField/popUpShopField.ts @@ -1,8 +1,9 @@ +import { ACTIVITY_TYPE } from "../../consts"; import { ActivityPopUpShopModelType } from "../../db/ActivityPopUpShop"; // 弹框商店 export class PopUpShopData { - + type: number//活动类型 activityId: number; // 活动id id: number; // 第几个,从1开始 name: string; //名字 @@ -34,6 +35,7 @@ export class PopUpShopData { public initData(data: any) { + this.type = ACTIVITY_TYPE.POP_UP_SHOP; this.id = data.id; this.reward = data.reward; this.consume = data.consume ? data.consume : ''; diff --git a/shared/pubUtils/taskUtil.ts b/shared/pubUtils/taskUtil.ts index 7a3aadc20..f69a18a3d 100644 --- a/shared/pubUtils/taskUtil.ts +++ b/shared/pubUtils/taskUtil.ts @@ -575,20 +575,22 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: for (let activity of allActivity) { let allTaskData: any[] = JSON.parse(activity.data); for (let task of allTaskData) { - let popShopData = new PopUpShopData(task, activity.activityId); - let taskRecord = await ActivityPopUpShopModel.findOpenDataByTaskId(serverId, activity.activityId, roleId, popShopData.id, popShopData.taskType) - let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null - if (!taskRecord || !taskRecord.isBuy) { - 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) { - await ActivityPopUpShopModel.addTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount); - } else { - await ActivityPopUpShopModel.addTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount); + 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 recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null + if (!taskRecord || !taskRecord.isBuy) { + 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) { + await ActivityPopUpShopModel.addTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount); + } else { + await ActivityPopUpShopModel.addTaskCount(serverId, activity.activityId, roleId, task.id, task.taskType, addCount); + } + } + if (record) { + await ActivityPopUpShopModel.addTaskRecord(serverId, activity.activityId, roleId, task.id, task.taskType, JSON.stringify(record)); } - } - if (record) { - await ActivityPopUpShopModel.addTaskRecord(serverId, activity.activityId, roleId, task.id, task.taskType, JSON.stringify(record)); } } }