import { Application, BackendSession } from 'pinus'; import { resResult } from '../../../pubUtils/util'; import { ACTIVITY_TYPE, FIRST_GIFT_STATE, STATUS } from '../../../consts'; import { firstGiftActivity, getPlayerFirstGiftData } from '../../../services/firstGiftService'; import { RoleModel } from '../../../db/Role'; import { addReward, stringToRewardParam, useGiftPackage } from '../../../services/giftPackageService'; import { ActivityFirstGiftModel } from '../../../db/ActivityFirstGift'; import { signInActivity, signInVIPActivity } from '../../../services/signInService'; import { growthFundActivity } from '../../../services/growthFundService'; import { newPlayerLimitPackageActivity } from '../../../services/limitPackageService'; export default function (app: Application) { return new ActivityHandler(app); } export class ActivityHandler { constructor(private app: Application) { } /** * @description 活动是否开启总接口 * @param {{ }} msg * @param {BackendSession} session * @memberof ActivityHandler */ async getAllOpenActivity(msg: {}, session: BackendSession) { const { } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); let playerActivityArray = []; //首冲礼包活动 { let data = await firstGiftActivity(serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.FIRST_GIFT, activityId: data.activityId, data, }); } } //签到 { let data = await signInActivity(serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.SIGN_IN, activityId: data.activityId, data, }); } } //高级签到 { let data = await signInVIPActivity(serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.SIGN_IN, activityId: data.activityId, data, }); } } //成长基金 { let data = await growthFundActivity(ACTIVITY_TYPE.GROWTH_FUND_MAIN, serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.GROWTH_FUND_MAIN, activityId: data.activityId, data, }); } } //高阶成长基金 { let data = await growthFundActivity(ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP, serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP, activityId: data.activityId, data, }); } } //镇念塔成长基金 { let data = await growthFundActivity(ACTIVITY_TYPE.GROWTH_FUND_TOWER, serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.GROWTH_FUND_TOWER, activityId: data.activityId, data, }); } } //高阶镇念塔成长基金 { let data = await growthFundActivity(ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP, serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP, activityId: data.activityId, data, }); } } //精英成长基金 { let data = await growthFundActivity(ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, activityId: data.activityId, data, }); } } //高阶精英成长基金 { let data = await growthFundActivity(ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP, serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP, activityId: data.activityId, data, }); } } //新手限定RMB购买礼包 { let data = await newPlayerLimitPackageActivity(serverId, roleId); if (data) { playerActivityArray.push({ type: ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE, activityId: data.activityId, data, }); } } return resResult(STATUS.SUCCESS, { playerActivityArray }); } }