活动:军团练兵场通过层数后推送
This commit is contained in:
@@ -630,7 +630,7 @@ export enum TASK_TYPE {
|
||||
HERO_WAKE_UP_STAR_UP_COUNT = 76, // *名武将升至觉醒*星
|
||||
EQUIP_REFINE_LV = 77, // *件装备成功精炼到*级
|
||||
EQUIP_SUIT_JEWEL_STAGE = 78, // *次触发,一个武将满装备情况下,必须都镶嵌有相同阶的宝石(阶数大于等于x情况下都算达成)
|
||||
GUILD_TRAIN_COUNT = 79, // 练兵场通关x关x次
|
||||
GUILD_TRAIN_COUNT = 79, // 练兵场通关x层
|
||||
HERO_UNLOCK = 80, // 名将谱x阵营全部激活
|
||||
GACHA_QUALITY_COUNT = 81, // 抽到*次品质*武将
|
||||
ROLE_TERAPH_STAGE_UP = 82, // 神像进阶
|
||||
|
||||
@@ -100,12 +100,22 @@ export default class Activity_Pop_Up_Shop extends BaseModel {
|
||||
}
|
||||
|
||||
//添加数据并标记push消息
|
||||
public static async addTaskPushMessage(serverId: number, activityId: number, roleId: string, id: number, type: number, addCount: number, beginTime: Date, endTime: Date) {
|
||||
let result: ActivityPopUpShopModelType = await ActivityPopUpShopModel.findOneAndUpdate({ serverId, roleId, activityId, id, type, addCount, beginTime, endTime },
|
||||
public static async addTaskPushMessage(serverId: number, activityId: number, roleId: string, id: number, type: number, totalCount: number, beginTime: Date, endTime: Date) {
|
||||
let result: ActivityPopUpShopModelType = await ActivityPopUpShopModel.findOneAndUpdate({ serverId, roleId, activityId, id, type, totalCount, beginTime, endTime },
|
||||
{ $set: { isPush: true } }, { upsert: true, new: true }).lean(true);
|
||||
return result;
|
||||
}
|
||||
|
||||
//添加数据并标记push消息
|
||||
public static async addTaskArrayPushMessage(serverId: number, activityId: number, roleIds: string[], id: number, type: number, totalCount: number, beginTime: Date, endTime: Date) {
|
||||
let activityData = [];
|
||||
for (let roleId of roleIds) {
|
||||
activityData.push(
|
||||
{ serverId, roleId, activityId, id, type, totalCount, beginTime, endTime, isPush: true, buyCount: 0, data: JSON.stringify({ totalCount }) }
|
||||
)
|
||||
}
|
||||
await ActivityPopUpShopModel.insertMany(activityData);
|
||||
}
|
||||
|
||||
//删除活动领取记录
|
||||
public static async deleteActivity(serverId: number, activityId: number, roleId: string, id: number) {
|
||||
|
||||
@@ -47,8 +47,8 @@ export default class Activity_Thirty_Days extends BaseModel {
|
||||
}
|
||||
|
||||
//根据活动记录统计数据
|
||||
public static async addTaskRecord(serverId: number, activityId: number, roleId: string, dayIndex: number, cellIndex: number, tab: number, type: number, data: string,) {
|
||||
let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ serverId, roleId, activityId, dayIndex, cellIndex, tab, type },
|
||||
public static async addTaskRecord(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number, tab: number, type: number, data: string,) {
|
||||
let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ serverId, roleId, activityId, pageIndex, cellIndex, tab, type },
|
||||
{ $set: { data: data } }, { upsert: true, new: true }).lean(true);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { gameData } from './data';
|
||||
import { DicTask } from './dictionary/DicTask';
|
||||
import { TASK_TYPE, ABI_STAGE, WAR_TYPE, GUILD_JOB, TASK_FUN_TYPE, FUNCS_ID } from '../consts';
|
||||
import { TASK_TYPE, ABI_STAGE, WAR_TYPE, GUILD_JOB, TASK_FUN_TYPE, FUNCS_ID, STATUS } from '../consts';
|
||||
import { UserTaskRecModel, UserTaskRecType } from '../db/UserTaskRec'
|
||||
import { RoleType, RoleModel } from '../db/Role';
|
||||
import { TaskParam, TaskListReturn } from '../domain/roleField/task';
|
||||
@@ -8,9 +8,8 @@ import { getZeroPoint } from './timeUtil';
|
||||
import { HeroType } from '../db/Hero';
|
||||
import { EquipType, EquipModel } from '../db/Equip';
|
||||
import { ItemInter } from './interface';
|
||||
import { GrowthData } from '../domain/activityField/growthField';
|
||||
import { DailyChallengesData } from '../domain/activityField/dailyChallengesField';
|
||||
import { splitString } from './util';
|
||||
import { resResult, splitString } from './util';
|
||||
import { ActivityModel, ActivityModelType } from '../db/Activity';
|
||||
import { ACTIVITY_TYPE } from '../consts/constModules/activityConst';
|
||||
import { ActivityGrowthModel } from '../db/ActivityGrowth';
|
||||
@@ -26,6 +25,7 @@ import { ActivityPopUpShopModel } from '../db/ActivityPopUpShop';
|
||||
import { ActivityPopUpShopRecordModel, ActivityPopUpShopRecordModelType } from '../db/ActivityPopUpShopRecord';
|
||||
import { SevenDaysData } from '../domain/activityField/sevenDaysField';
|
||||
import moment = require("moment");
|
||||
import { GuildModel } from '../db/Guild';
|
||||
|
||||
|
||||
|
||||
@@ -721,6 +721,19 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
|
||||
} else {
|
||||
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);
|
||||
|
||||
}
|
||||
} else {
|
||||
let taskRecord = await ActivityPopUpShopModel.findDataByTaskId(serverId, activity.activityId, roleId, popShopData.id, popShopData.taskType)
|
||||
let recordData = taskRecord && taskRecord.data ? JSON.parse(taskRecord.data) : null
|
||||
@@ -1016,9 +1029,9 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
|
||||
addCount = count;
|
||||
break;
|
||||
}
|
||||
case TASK_TYPE.GUILD_TRAIN_COUNT://trainId count&wardId&
|
||||
case TASK_TYPE.GUILD_TRAIN_COUNT://trainId trainId&
|
||||
{
|
||||
if (paramObj.trainId == param[1]) {
|
||||
if (paramObj.trainId == param[0]) {
|
||||
addCount = count;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -704,9 +704,9 @@
|
||||
{
|
||||
"id": 79,
|
||||
"name": "军团",
|
||||
"info": "练兵场通关x关x次",
|
||||
"param": "count&wardId&",
|
||||
"string": "发生次数&关卡Id&",
|
||||
"info": "练兵场通关x层",
|
||||
"param": "trainId&",
|
||||
"string": "练兵场层trainId&",
|
||||
"content": 0,
|
||||
"condition": "count"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user