活动:弹出商店添加条件判断

This commit is contained in:
qiaoxin
2021-05-31 20:39:05 +08:00
parent b4b1c9321a
commit 9cb06b4736
9 changed files with 145 additions and 42 deletions

View File

@@ -21,6 +21,8 @@ import { ActivityThirtyDaysModel, ActivityThirtyDaysModelType } from '../db/Acti
import { ServerlistModel } from '../db/Serverlist';
import { ActivityGrowthFundModel, ActivityGrowthFundModelType } from '../db/ActivityGrowthFund';
import { ActivityBuyRecordsModel } from '../db/ActivityBuyRecords';
import { PopUpShopData } from '../domain/activityField/popUpShopField';
import { ActivityPopUpShopModel } from '../db/ActivityPopUpShop';
@@ -567,6 +569,32 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
}
}
//弹出商店
{
allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.POP_UP_SHOP, new Date());
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 (record) {
await ActivityPopUpShopModel.addTaskRecord(serverId, activity.activityId, roleId, task.id, task.taskType, JSON.stringify(record));
}
}
}
}
}
//主线成长基金
if (taskType === TASK_TYPE.BATTLE_MAIN) {
allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_MAIN, ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP], new Date());