弹出礼包时间
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import moment = require("moment");
|
||||
import { POP_UP_SHOP_CONDITION_TYPE, POP_UP_SHOP_REFRESH_TIME_TYPE, REFRESH_TIME } from "../../consts";
|
||||
import { POP_UP_SHOP_CONDITION_TYPE, POP_UP_SHOP_REFRESH_TIME_TYPE, REFRESH_TIME, SHOP_REFRESH_TYPE } from "../../consts";
|
||||
import { ActivityModelType } from "../../db/Activity";
|
||||
import { ActivityPopUpShopModelType, PopUpShopItem as ActivityPopUpShopItem } from "../../db/ActivityPopUpShop";
|
||||
import { RewardInter } from "../../pubUtils/interface";
|
||||
@@ -7,7 +7,7 @@ import { parseNumberList } from "../../pubUtils/util";
|
||||
import { stringWithTypeToRewardInter } from "../../pubUtils/roleUtil";
|
||||
import { ActivityBase } from './activityField';
|
||||
import { PVPConfigModel } from "../../db/SystemConfig";
|
||||
import { nowSeconds } from "../../pubUtils/timeUtil";
|
||||
import { getZeroPointOfTimeD, nowSeconds } from "../../pubUtils/timeUtil";
|
||||
|
||||
// 数据库格式
|
||||
interface PopUpShopDataInDb {
|
||||
@@ -302,22 +302,23 @@ export class PopUpShopPackage {
|
||||
effectEndTime = new Date(this.parent.endTime);
|
||||
break;
|
||||
case POP_UP_SHOP_REFRESH_TIME_TYPE.NATURAL_DAY:
|
||||
effectBeginTime = moment(now).startOf('d').add(REFRESH_TIME, 'h').toDate();
|
||||
effectEndTime = moment(now).endOf('d').add(REFRESH_TIME, 'h').toDate();
|
||||
effectBeginTime = getZeroPointOfTimeD(now, SHOP_REFRESH_TYPE.DAILY);
|
||||
effectEndTime = moment(effectBeginTime).add(1, 'd').toDate();
|
||||
break;
|
||||
case POP_UP_SHOP_REFRESH_TIME_TYPE.NATURAL_WEEK:
|
||||
effectBeginTime = moment(now).startOf('w').add(REFRESH_TIME, 'h').toDate();
|
||||
effectEndTime = moment(now).endOf('w').add(REFRESH_TIME, 'h').toDate();
|
||||
effectBeginTime = getZeroPointOfTimeD(now, SHOP_REFRESH_TYPE.WEEKLY);
|
||||
effectEndTime = moment(effectBeginTime).add(1, 'w').toDate();
|
||||
break;
|
||||
case POP_UP_SHOP_REFRESH_TIME_TYPE.NATURAL_MONTH:
|
||||
effectBeginTime = moment(now).startOf('month').add(REFRESH_TIME, 'h').toDate();
|
||||
effectEndTime = moment(now).endOf('month').add(REFRESH_TIME, 'h').toDate();
|
||||
effectBeginTime = getZeroPointOfTimeD(now, SHOP_REFRESH_TYPE.MONTHLY);
|
||||
effectEndTime = moment(effectBeginTime).add(1, 'month').toDate();
|
||||
break;
|
||||
case POP_UP_SHOP_REFRESH_TIME_TYPE.DAYS:
|
||||
let gap = moment(now).diff(this.parent.beginTime, 'd');
|
||||
let n = Math.floor(gap / this.refreshDay);
|
||||
effectBeginTime = moment(this.parent.beginTime).startOf('d').add(n * this.refreshDay, 'd').add(REFRESH_TIME, 'h').toDate();
|
||||
effectEndTime = moment(this.parent.beginTime).startOf('d').add((n + 1) * this.refreshDay, 'd').add(REFRESH_TIME, 'h').toDate();
|
||||
let zeroPoint = getZeroPointOfTimeD(this.parent.beginTime, SHOP_REFRESH_TYPE.DAILY);
|
||||
effectBeginTime = moment(zeroPoint).add(n * this.refreshDay, 'd').toDate();
|
||||
effectEndTime = moment(zeroPoint).add(n * this.refreshDay, 'd').toDate();
|
||||
break;
|
||||
case POP_UP_SHOP_REFRESH_TIME_TYPE.PVP:
|
||||
let pvpConfig = await PVPConfigModel.findCurPVPConfig();
|
||||
|
||||
@@ -268,7 +268,7 @@ class Time {
|
||||
* @param seconds 几秒
|
||||
*/
|
||||
public getMonthZeroPoint(day: number = 1, hour = REFRESH_TIME, minute = 0, seconds = 0) {
|
||||
let t = this._getTimeWithWeek(this.time, day, hour, minute, seconds);
|
||||
let t = this._getTimeWithMonth(this.time, day, hour, minute, seconds);
|
||||
if(this.now > t) {
|
||||
return this._returnResult(t);
|
||||
} else {
|
||||
@@ -505,14 +505,14 @@ export function getZeroPointOfTime(refTime: Date|number, refreshType: SHOP_REFRE
|
||||
}
|
||||
}
|
||||
|
||||
export function getZeroPointOfTimeD(refTime: Date, refreshType: SHOP_REFRESH_TYPE = SHOP_REFRESH_TYPE.DAILY) {
|
||||
export function getZeroPointOfTimeD(refTime: Date|number, refreshType: SHOP_REFRESH_TYPE = SHOP_REFRESH_TYPE.DAILY, hour = REFRESH_TIME) {
|
||||
let t = new Time(TIME_OUTPUT_TYPE.DATE, refTime);
|
||||
if(refreshType == SHOP_REFRESH_TYPE.DAILY) {
|
||||
return <Date>t.getDayZeroPoint();
|
||||
return <Date>t.getDayZeroPoint(hour);
|
||||
} else if (refreshType == SHOP_REFRESH_TYPE.WEEKLY) {
|
||||
return <Date>t.getWeekZeroPoint();
|
||||
return <Date>t.getWeekZeroPoint(1, hour);
|
||||
} else if (refreshType == SHOP_REFRESH_TYPE.MONTHLY) {
|
||||
return <Date>t.getMonthZeroPoint();
|
||||
return <Date>t.getMonthZeroPoint(1, hour);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user