活动:修改限购商店的刷新时间为5点

This commit is contained in:
qiaoxin
2021-05-28 17:20:18 +08:00
parent 480f8458f8
commit 6a2f7889ae
7 changed files with 58 additions and 21 deletions
@@ -1,6 +1,6 @@
import { Application, BackendSession } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { ACTIVITY_TYPE, FIRST_GIFT_STATE, STATUS } from '../../../consts';
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';
@@ -10,6 +10,8 @@ import { dailyChallengesActivity } from '../../../services/dailyChallengesServic
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);
@@ -172,13 +174,16 @@ export class ActivityHandler {
//新手限定RMB购买礼包 15
{
let data = await newPlayerLimitPackageActivity(serverId, roleId);
if (data) {
playerActivityArray.push({
type: ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE,
activityId: data.activityId,
data,
});
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
@@ -239,6 +244,19 @@ export class ActivityHandler {
});
}
}
//累计充值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 });
}
@@ -1,6 +1,6 @@
import { Application, BackendSession } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { ACTIVITY_TYPE, FIRST_GIFT_STATE, STATUS } from '../../../consts';
import { ACTIVITY_TYPE, FIRST_GIFT_STATE, SERVER_OPEN_TIME, STATUS } from '../../../consts';
import { newPlayerLimitPackageActivity, getPlayerLimitPackageData, limitPackageActivity } from '../../../services/limitPackageService';
import { addReward, stringToRewardParam, useGiftPackage } from '../../../services/giftPackageService';
import { ActivityShopModel } from '../../../db/ActivityShop';
@@ -17,7 +17,7 @@ export class LimitPackageHandler {
/************************新手限定礼包****************************/
/**
* @description 获取新手限定活动数据
* @description 获取新手限定活动数据 开服1-7天可以购买,第8天0-5点只能看,不能买
* @param {{ activityId:number}} msg
* @param {BackendSession} session
* @memberof LimitPackageHandler
@@ -27,6 +27,10 @@ export class LimitPackageHandler {
const roleId = session.get('roleId');
const serverId = session.get('serverId');
let endTime = moment(SERVER_OPEN_TIME).startOf('d').add(7, 'd').add(5, 'h').toDate();
if (new Date() > endTime) {
return resResult(STATUS.ACTIVITY_NEW_PLAYER_GIFT_END);
}
let playerData = await newPlayerLimitPackageActivity(serverId, roleId);
if (!playerData) {
return resResult(STATUS.ACTIVITY_MISSING);
@@ -81,7 +85,8 @@ export class LimitPackageHandler {
switch (playerData.type) {
case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE:
{
if (playerData.endTime < moment(new Date).valueOf()) {
let endTime = moment(SERVER_OPEN_TIME).startOf('d').add(7, 'd').toDate();
if (new Date() > endTime) {
return resResult(STATUS.ACTIVITY_NEW_PLAYER_LIMIT_PACKAGE_END);
}
break;
@@ -1,11 +1,13 @@
import moment = require('moment');
import { ACTIVITY_TYPE, TASK_TYPE } from '../consts';
import { ActivityModel, ActivityModelType } from '../db/Activity';
import { ActivityShopModel, ActivityShopModelType } from '../db/ActivityShop';
import { RoleModel } from '../db/Role';
import { ServerlistModel } from '../db/Serverlist';
import { LimitShopData, ShopItem } from '../domain/activityField/limitShopField';
/**
* 获取新手玩家限购礼包活动数据
* 获取新手玩家限购礼包活动数据 新手限定作为开服七天乐的延伸礼包。只存在于开服前七天,七天时间过去,玩家无法购买
*
* @param {number} serverId 区Id
* @param {number} type 活动类型 ACTIVITY_TYPE
@@ -14,6 +16,9 @@ import { LimitShopData, ShopItem } from '../domain/activityField/limitShopField'
*/
export async function newPlayerLimitPackageActivity(serverId: number, roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId);
let createDate = moment(createTime * 1000).toDate();
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE, new Date)
if (activityArray.length == 0) {
@@ -20,15 +20,19 @@ import { ServerlistModel } from '../db/Serverlist';
export async function rechargeMoneyActivity(serverId: number, roleId: string) {
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.RECHARGE_MONEY, new Date())
activityArray = activityArray.sort((a, b) => {
return b.activityId - a.activityId
});
let playerDataArray = [];
for (let activityData of activityArray) {
let playerData = await getPlayerRechargeMoneyData(activityData.activityId, serverId, roleId);
playerDataArray.push(playerData)
}
return playerDataArray
let activityData = activityArray[0];
let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId);
let playerData = new RechargeMoneyData(activityData);
playerData.setPlayerRecords(playerRecord);
return playerData;
// let playerDataArray = [];
// for (let activityData of activityArray) {
// let playerData = await getPlayerRechargeMoneyData(activityData.activityId, serverId, roleId);
// playerDataArray.push(playerData)
// }
// return playerDataArray
}
/**