活动:创建英雄的统计添加推送逻辑

This commit is contained in:
qiaoxin
2021-06-09 17:27:04 +08:00
parent 9b945b6d8c
commit 4ed8f286f1
4 changed files with 463 additions and 462 deletions
@@ -1,9 +1,8 @@
import { Application, BackendSession } from 'pinus'; import { Application, BackendSession } from 'pinus';
import { resResult } from '../../../pubUtils/util'; import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts'; import { STATUS } from '../../../consts';
import { getPlayerGrowthFundData, growthFundActivity } from '../../../services/growthFundService'; import { getPlayerGrowthFundData } from '../../../services/growthFundService';
import { GrowthFundItem } from '../../../domain/activityField/growthFundField'; import { GrowthFundItem } from '../../../domain/activityField/growthFundField';
import { addItems, createHeroes } from '../../../services/rewardService';
import { ActivityGrowthFundModel } from '../../../db/ActivityGrowthFund'; import { ActivityGrowthFundModel } from '../../../db/ActivityGrowthFund';
import { addReward, stringToRewardParam } from '../../../services/giftPackageService'; import { addReward, stringToRewardParam } from '../../../services/giftPackageService';
import { RewardParam } from '../../../domain/activityField/rewardField'; import { RewardParam } from '../../../domain/activityField/rewardField';
+3 -2
View File
@@ -14,7 +14,7 @@ import { uniq, indexOf, findIndex } from 'underscore';
import { HeroModel, HeroType } from '../db/Hero'; import { HeroModel, HeroType } from '../db/Hero';
import { Figure } from '../domain/dbGeneral'; import { Figure } from '../domain/dbGeneral';
import { Rank } from './rankService'; import { Rank } from './rankService';
import { checkActivityTask, pushTaskUpdate } from './taskService'; import { checkActivityTask, pushActivityUpdate, pushTaskUpdate } from './taskService';
import { CreateHeroParam } from '../domain/roleField/hero'; import { CreateHeroParam } from '../domain/roleField/hero';
export async function handleCost(roleId: string, sid: string, goods: Array<ItemInter>) { export async function handleCost(roleId: string, sid: string, goods: Array<ItemInter>) {
@@ -333,7 +333,7 @@ export async function createHeroes(roleId: string, roleName: string, sid: string
let resultHeroes: HeroType[] = [], resultItems: ItemInter[] = []; let resultHeroes: HeroType[] = [], resultItems: ItemInter[] = [];
if (newHeroInfo.length > 0) { if (newHeroInfo.length > 0) {
let { heroes, role, figureInfo, calHeroResults, calAllHeroResults, taskPushMessage } = await pubCreateHeroes(roleId, roleName, serverId, newHeroInfo, funcs); let { heroes, role, figureInfo, calHeroResults, calAllHeroResults, taskPushMessage, activityTaskPushMessage } = await pubCreateHeroes(roleId, roleName, serverId, newHeroInfo, funcs);
let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId }); let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
await r.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role); await r.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role);
@@ -348,6 +348,7 @@ export async function createHeroes(roleId: string, roleName: string, sid: string
} }
pushTaskUpdate(roleId, sid, null, taskPushMessage); pushTaskUpdate(roleId, sid, null, taskPushMessage);
pushActivityUpdate(roleId, sid, null, activityTaskPushMessage);
resultHeroes = heroes; resultHeroes = heroes;
} }
+6 -5
View File
@@ -231,8 +231,8 @@ function unlockSingleFigure(dbFigures: Figure[], id: number, unlockDirect = fals
} }
export async function createHero(roleId: string, roleName: string, serverId: number, heroInfo: CreateHeroParam, funcs?: number[]) { export async function createHero(roleId: string, roleName: string, serverId: number, heroInfo: CreateHeroParam, funcs?: number[]) {
let { role, figureInfo, heroes, calHeroResults, calAllHeroResults, taskPushMessage } = await createHeroes(roleId, roleName, serverId, [heroInfo], funcs) let { role, figureInfo, heroes, calHeroResults, calAllHeroResults, taskPushMessage, activityTaskPushMessage } = await createHeroes(roleId, roleName, serverId, [heroInfo], funcs)
return { hero: heroes[0], role, figureInfo, calHeroResult: calHeroResults[0], calAllHeroResult: calAllHeroResults[0], taskPushMessage } return { hero: heroes[0], role, figureInfo, calHeroResult: calHeroResults[0], calAllHeroResult: calAllHeroResults[0], taskPushMessage, activityTaskPushMessage }
} }
export async function createHeroes(roleId: string, roleName: string, serverId: number, heroInfos: CreateHeroParam[], funcs?: number[]) { export async function createHeroes(roleId: string, roleName: string, serverId: number, heroInfos: CreateHeroParam[], funcs?: number[]) {
@@ -268,9 +268,10 @@ export async function createHeroes(roleId: string, roleName: string, serverId: n
let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs); let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs);
let taskPushMessage = m1.concat(m2, m3, m4); let taskPushMessage = m1.concat(m2, m3, m4);
//成长任务 //成长任务
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum) let mm1 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum)
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes }) let mm2 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes })
return { role, figureInfo, heroes, calHeroResults, calAllHeroResults, taskPushMessage } let activityTaskPushMessage = mm1.concat(mm2);
return { role, figureInfo, heroes, calHeroResults, calAllHeroResults, taskPushMessage, activityTaskPushMessage }
} }
export function transPiece(hid: number) { export function transPiece(hid: number) {