264 lines
9.1 KiB
TypeScript
264 lines
9.1 KiB
TypeScript
import { Application, BackendSession } from 'pinus';
|
||
import { resResult } from '../../../pubUtils/util';
|
||
import { ACTIVITY_TYPE, FIRST_GIFT_STATE, SERVER_OPEN_TIME, STATUS } from '../../../consts';
|
||
import { firstGiftActivity, getPlayerFirstGiftData } from '../../../services/firstGiftService';
|
||
import { signInActivity, signInVIPActivity } from '../../../services/signInService';
|
||
import { growthFundActivity } from '../../../services/growthFundService';
|
||
import { limitPackageActivity, newPlayerLimitPackageActivity } from '../../../services/limitPackageService';
|
||
import { growthActivity } from '../../../services/growthService';
|
||
import { dailyChallengesActivity } from '../../../services/dailyChallengesService';
|
||
import { dailyGiftsActivity } from '../../../services/dailyGiftsService';
|
||
import { yuanbaoActivity } from '../../../services/yuanbaoService';
|
||
import { monthlyTicketActivity } from '../../../services/monthlyTicketService';
|
||
import { rechargeMoneyActivity } from '../../../services/rechargeMoneyService';
|
||
import moment = require('moment');
|
||
|
||
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 = [];
|
||
//七天乐活动-成长任务 1 2 3
|
||
{
|
||
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,
|
||
});
|
||
}
|
||
}
|
||
//签到 4
|
||
{
|
||
let data = await signInActivity(serverId, roleId);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.SIGN_IN,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
//高级签到 5
|
||
{
|
||
let data = await signInVIPActivity(serverId, roleId);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.SIGN_IN_VIP,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
|
||
//成长基金 6
|
||
{
|
||
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,
|
||
});
|
||
}
|
||
}
|
||
//高阶成长基金 7
|
||
{
|
||
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,
|
||
});
|
||
}
|
||
}
|
||
//镇念塔成长基金 8
|
||
{
|
||
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,
|
||
});
|
||
}
|
||
}
|
||
//高阶镇念塔成长基金 9
|
||
{
|
||
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,
|
||
});
|
||
}
|
||
}
|
||
//精英成长基金 10
|
||
{
|
||
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,
|
||
});
|
||
}
|
||
}
|
||
//高阶精英成长基金 11
|
||
{
|
||
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,
|
||
});
|
||
}
|
||
}
|
||
|
||
|
||
//首冲礼包活动 14
|
||
{
|
||
let data = await firstGiftActivity(serverId, roleId);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.FIRST_GIFT,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
|
||
//新手限定RMB购买礼包 15
|
||
{
|
||
let endTime = moment(SERVER_OPEN_TIME).startOf('d').add(7, 'd').add(5, 'h').toDate();
|
||
if (new Date() <= endTime) {
|
||
let data = await newPlayerLimitPackageActivity(serverId, roleId);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
}
|
||
//每日限购礼包,RMB购买礼包 16
|
||
{
|
||
let data = await limitPackageActivity(serverId, roleId, ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
//每日限购礼包,RMB购买礼包 17
|
||
{
|
||
let data = await limitPackageActivity(serverId, roleId, ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
|
||
//元宝商店 18
|
||
{
|
||
let data = await yuanbaoActivity(serverId, roleId);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.YUAN_BAO_SHOP,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
|
||
//月卡1 19
|
||
{
|
||
let data = await monthlyTicketActivity(serverId, roleId, ACTIVITY_TYPE.MONTHLY_TICKET_1);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.MONTHLY_TICKET_1,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
|
||
//月卡2 20
|
||
{
|
||
let data = await monthlyTicketActivity(serverId, roleId, ACTIVITY_TYPE.MONTHLY_TICKET_2);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.MONTHLY_TICKET_2,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
|
||
//累计充值RMB活动 21
|
||
{
|
||
let data = await rechargeMoneyActivity(serverId, roleId);
|
||
if (data) {
|
||
playerActivityArray.push({
|
||
type: ACTIVITY_TYPE.RECHARGE_MONEY,
|
||
activityId: data.activityId,
|
||
data,
|
||
});
|
||
}
|
||
}
|
||
|
||
return resResult(STATUS.SUCCESS, { playerActivityArray });
|
||
}
|
||
|
||
}
|