184 lines
6.3 KiB
TypeScript
184 lines
6.3 KiB
TypeScript
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 { signInActivity, signInVIPActivity } from '../../../services/signInService';
|
|
import { growthFundActivity } from '../../../services/growthFundService';
|
|
import { newPlayerLimitPackageActivity } from '../../../services/limitPackageService';
|
|
import { growthActivity } from '../../../services/growthService';
|
|
import { dailyChallengesActivity } from '../../../services/dailyChallengesService';
|
|
import { dailyGiftsActivity } from '../../../services/dailyGiftsService';
|
|
|
|
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 sevenData = [];
|
|
let growthData = await growthActivity(serverId, roleId);
|
|
if (growthData) {
|
|
sevenData.push({
|
|
type: ACTIVITY_TYPE.TASK_GROWTH,
|
|
activityId: growthData.activityId,
|
|
data: growthData,
|
|
});
|
|
}
|
|
let dailyChallengesData = await dailyChallengesActivity(serverId, roleId);
|
|
if (dailyChallengesData) {
|
|
sevenData.push({
|
|
type: ACTIVITY_TYPE.TASK_DAILY_CHALLENGES,
|
|
activityId: dailyChallengesData.activityId,
|
|
data: dailyChallengesData,
|
|
});
|
|
}
|
|
let dailyGiftsData = await dailyGiftsActivity(serverId, roleId);
|
|
if (dailyGiftsData) {
|
|
sevenData.push({
|
|
type: ACTIVITY_TYPE.DAILY_DISCOUNT_GIFT,
|
|
activityId: dailyGiftsData.activityId,
|
|
data: dailyGiftsData,
|
|
});
|
|
}
|
|
if (sevenData.length > 0) {
|
|
playerActivityArray.push({
|
|
type: ACTIVITY_TYPE.SEVEN_DAY,
|
|
activityId: 0,
|
|
data: sevenData,
|
|
});
|
|
}
|
|
}
|
|
|
|
//首冲礼包活动
|
|
{
|
|
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 });
|
|
}
|
|
|
|
}
|