活动:修改限购商店的刷新时间为5点
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -360,6 +360,7 @@ export const STATUS = {
|
||||
ACTIVITY_NEED_PAY: { code: 50023, simStr: '客户端调错接口了' },
|
||||
ACTIVITY_GOLD_RESOURCE: { code: 50024, simStr: '元宝资源' },
|
||||
ACTIVITY_ID_ERROR: { code: 50025, simStr: 'id错误' },
|
||||
ACTIVITY_NEW_PLAYER_GIFT_END: { code: 50026, simStr: '新手活动结束' },
|
||||
// GM后台相关状态 60000 - 69999
|
||||
GM_ERR_PASSWORD: { code: 60001, simStr: '账号或密码错误' },
|
||||
GM_MISS_API: { code: 60002, simStr: '未找到该接口' },
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import moment = require('moment');
|
||||
import { REFRESH_TIME } from '../../consts';
|
||||
import { ActivityModelType } from '../../db/Activity';
|
||||
import { ActivityShopModelType } from '../../db/ActivityShop';
|
||||
import { ActivityBase } from './activityField';
|
||||
@@ -71,6 +72,8 @@ export class LimitShopData extends ActivityBase {
|
||||
let dataObj = JSON.parse(data);
|
||||
this.name = dataObj.name;
|
||||
this.interval = dataObj.interval;
|
||||
|
||||
this.beginTime = moment(this.beginTime).startOf('d').add(REFRESH_TIME, 'hour').valueOf();
|
||||
if (this.interval > 0) {
|
||||
this.roundIndex = Math.ceil((moment(new Date).valueOf() - this.beginTime) / (this.interval * 1000));
|
||||
this.nextRefreshTime = moment(this.beginTime).add(this.interval * this.roundIndex, 'second').valueOf();
|
||||
|
||||
@@ -17,6 +17,7 @@ export class RechargeMoneyItem {
|
||||
this.id = data.id;
|
||||
this.name = data.name;
|
||||
this.reward = data.reward;
|
||||
this.rewardTime = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user