活动:弹出礼包
This commit is contained in:
@@ -19,15 +19,11 @@ 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';
|
||||
import { ServerTempModel, ServerTempModelType } from '../db/ServerTemp';
|
||||
import { TreasureHuntData } from '../domain/activityField/treasureHuntField';
|
||||
import { ActivityTreasureHuntTaskModel, ActivityTreasureHuntTaskModelType } from '../db/ActivityTreasureHuntTask';
|
||||
import { ActivityPopUpShopRecordModel, ActivityPopUpShopRecordModelType } from '../db/ActivityPopUpShopRecord';
|
||||
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';
|
||||
import { ActivityInRemote, transActivityInRemoteToModelType } from '../domain/activityField/activityField';
|
||||
@@ -868,77 +864,77 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
||||
|
||||
// console.log('***** popUpShop before', Date.now());
|
||||
//弹出商店
|
||||
{
|
||||
allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.POP_UP_SHOP]);
|
||||
for (let activity of allActivity) {
|
||||
let allTaskData: any[] = JSON.parse(activity.data);
|
||||
for (let task of allTaskData) {
|
||||
if (task.taskType == taskType) {
|
||||
let popShopData = new PopUpShopData(task, activity.activityId);
|
||||
let beginTime = new Date();
|
||||
let endTime = moment(new Date()).add(task.duration, 'h').toDate();
|
||||
if (taskType == TASK_TYPE.ROLE_TERAPH_STAGE_UP) {//只要触发就弹出礼包商店
|
||||
//推送
|
||||
let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, count, beginTime, endTime);
|
||||
popShopData.setPlayerRecords(playerRecord)
|
||||
pushMessage = pushMessage.concat(popShopData);
|
||||
} else if ( taskType == TASK_TYPE.GACHA_QUALITY_COUNT || taskType == TASK_TYPE.GUILD_ACTIVITY) {//每天统计
|
||||
let recordDate = moment(new Date()).startOf('d').toDate()
|
||||
let recordData: ActivityPopUpShopRecordModelType = await ActivityPopUpShopRecordModel.findRecordData(serverId, activity.activityId, roleId, task.id, task.taskType, recordDate)
|
||||
let { addCount } = isComplete(roleId, task.taskType, task.taskParam, count, activity.activityId, parma, null);
|
||||
let oldCount = (recordData && recordData.count) ? recordData.count : 0;
|
||||
if (oldCount < task.condition && (oldCount + addCount >= task.condition)) {//完成当天任务
|
||||
let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, oldCount + addCount, beginTime, endTime);
|
||||
popShopData.setPlayerRecords(playerRecord)
|
||||
pushMessage = pushMessage.concat(popShopData);
|
||||
}
|
||||
await ActivityPopUpShopRecordModel.addRecord(serverId, activity.activityId, roleId, task.id, task.taskType, recordDate, addCount)
|
||||
} else if (taskType == TASK_TYPE.GUILD_TRAIN_COUNT) {//军团练兵场通关层数推送所有团员
|
||||
if (task.taskParam[0] == parma.trainId) {
|
||||
let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, count, beginTime, endTime);
|
||||
popShopData.setPlayerRecords(playerRecord)
|
||||
pushMessage = pushMessage.concat(popShopData);
|
||||
// {
|
||||
// allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.POP_UP_SHOP]);
|
||||
// for (let activity of allActivity) {
|
||||
// let allTaskData: any[] = JSON.parse(activity.data);
|
||||
// for (let task of allTaskData) {
|
||||
// if (task.taskType == taskType) {
|
||||
// let popShopData = new PopUpShopData(task, activity.activityId);
|
||||
// let beginTime = new Date();
|
||||
// let endTime = moment(new Date()).add(task.duration, 'h').toDate();
|
||||
// if (taskType == TASK_TYPE.ROLE_TERAPH_STAGE_UP) {//只要触发就弹出礼包商店
|
||||
// //推送
|
||||
// let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, count, beginTime, endTime);
|
||||
// popShopData.setPlayerRecords(playerRecord)
|
||||
// pushMessage = pushMessage.concat(popShopData);
|
||||
// } else if ( taskType == TASK_TYPE.GACHA_QUALITY_COUNT || taskType == TASK_TYPE.GUILD_ACTIVITY) {//每天统计
|
||||
// let recordDate = moment(new Date()).startOf('d').toDate()
|
||||
// let recordData: ActivityPopUpShopRecordModelType = await ActivityPopUpShopRecordModel.findRecordData(serverId, activity.activityId, roleId, task.id, task.taskType, recordDate)
|
||||
// let { addCount } = isComplete(roleId, task.taskType, task.taskParam, count, activity.activityId, parma, null);
|
||||
// let oldCount = (recordData && recordData.count) ? recordData.count : 0;
|
||||
// if (oldCount < task.condition && (oldCount + addCount >= task.condition)) {//完成当天任务
|
||||
// let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, oldCount + addCount, beginTime, endTime);
|
||||
// popShopData.setPlayerRecords(playerRecord)
|
||||
// pushMessage = pushMessage.concat(popShopData);
|
||||
// }
|
||||
// await ActivityPopUpShopRecordModel.addRecord(serverId, activity.activityId, roleId, task.id, task.taskType, recordDate, addCount)
|
||||
// } else if (taskType == TASK_TYPE.GUILD_TRAIN_COUNT) {//军团练兵场通关层数推送所有团员
|
||||
// if (task.taskParam[0] == parma.trainId) {
|
||||
// let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(serverId, activity.activityId, roleId, task.id, task.taskType, count, beginTime, endTime);
|
||||
// popShopData.setPlayerRecords(playerRecord)
|
||||
// pushMessage = pushMessage.concat(popShopData);
|
||||
|
||||
//全服推送
|
||||
let code = parma.code;
|
||||
const guildData = await GuildModel.findByCode(code, serverId, 'members');
|
||||
let members = guildData.members.filter(member => { return member != roleId })
|
||||
await ActivityPopUpShopModel.addTaskArrayPushMessage(serverId, activity.activityId, members, task.id, task.taskType, count, beginTime, endTime);
|
||||
// //全服推送
|
||||
// let code = parma.code;
|
||||
// const guildData = await GuildModel.findByCode(code, serverId, 'members');
|
||||
// let members = guildData.members.filter(member => { return member != roleId })
|
||||
// await ActivityPopUpShopModel.addTaskArrayPushMessage(serverId, activity.activityId, members, task.id, task.taskType, count, beginTime, endTime);
|
||||
|
||||
}
|
||||
} else {
|
||||
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, activity.activityId, parma, recordData);
|
||||
if (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);
|
||||
popShopData.setPlayerRecords(playerRecord)
|
||||
pushMessage = pushMessage.concat(popShopData);
|
||||
}
|
||||
} else {
|
||||
let playerRecord = await ActivityPopUpShopModel.addTaskCount(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);
|
||||
popShopData.setPlayerRecords(playerRecord)
|
||||
pushMessage = pushMessage.concat(popShopData);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (record) {
|
||||
await ActivityPopUpShopModel.addTaskRecord(serverId, activity.activityId, roleId, task.id, task.taskType, JSON.stringify(record));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// }
|
||||
// } else {
|
||||
// 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, activity.activityId, parma, recordData);
|
||||
// if (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);
|
||||
// popShopData.setPlayerRecords(playerRecord)
|
||||
// pushMessage = pushMessage.concat(popShopData);
|
||||
// }
|
||||
// } else {
|
||||
// let playerRecord = await ActivityPopUpShopModel.addTaskCount(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);
|
||||
// popShopData.setPlayerRecords(playerRecord)
|
||||
// pushMessage = pushMessage.concat(popShopData);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (record) {
|
||||
// await ActivityPopUpShopModel.addTaskRecord(serverId, activity.activityId, roleId, task.id, task.taskType, JSON.stringify(record));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// console.log('***** popUpShop after', Date.now());
|
||||
// console.log('***** growthFund before', Date.now());
|
||||
//主线成长基金
|
||||
|
||||
Reference in New Issue
Block a user