演武台:转入拍卖行时间
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { MailModel, MailType } from './../db/Mail';
|
||||
import { DividendModel } from './../db/Dividend';
|
||||
import { LOT_CODE_LEN, AUCTION_STAGE, AUCTION_TIME, DIVIDEND_CODE_LEN, DIVIDEND_STATUS, LOT_STATUS, MAIL_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, STATUS, DIVIDENDWEEKENDRATE, DIVIDENDMAXRATIO, DIVIDENDPOSITIONMAXRATIO, ROLE_RECEIVE_STATUS, AUCTION_BID_STATUS, DEBUG_MAGIC_WORD } from './../consts';
|
||||
import { LOT_CODE_LEN, AUCTION_STAGE, AUCTION_TIME, DIVIDEND_CODE_LEN, DIVIDEND_STATUS, LOT_STATUS, MAIL_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, STATUS, DIVIDENDWEEKENDRATE, DIVIDENDMAXRATIO, DIVIDENDPOSITIONMAXRATIO, ROLE_RECEIVE_STATUS, AUCTION_BID_STATUS, DEBUG_MAGIC_WORD, AUCTION_SOURCE } from './../consts';
|
||||
import { DividendRec, ItemReward } from "../domain/dbGeneral";
|
||||
import { genCode, resResult } from '../pubUtils/util';
|
||||
import { LotModel, LotParam } from '../db/Lot';
|
||||
@@ -52,39 +52,85 @@ export async function officialAuctionLots(session: FrontendOrBackendSession, beg
|
||||
return lots;
|
||||
}
|
||||
|
||||
// 拍卖行开始时间 今天20:20
|
||||
export function auctionBegin() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.GUILD_OPEN);
|
||||
return <Date>getTimeFunD().getAfterDayWithHour(0, hour, minute);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(0, hour, minute);
|
||||
}
|
||||
|
||||
// 军团拍卖行结束时间 20:30
|
||||
export function guildAuctionEnd() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.GUILD_CLOSE);
|
||||
return <Date>getTimeFunD().getAfterDayWithHour(0, hour, minute);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(0, hour, minute);
|
||||
}
|
||||
|
||||
// 拍卖行结束时间 22:00
|
||||
export function auctionEnd() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.WORLD_CLOSE);
|
||||
return <Date>getTimeFunD().getAfterDayWithHour(0, hour, minute);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(0, hour, minute);
|
||||
}
|
||||
|
||||
// 今天军团拍卖行开始时间 20:20
|
||||
export function todayGuildBegin() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.GUILD_OPEN);
|
||||
return <Date>getTimeFunD(getZeroPointD()).getAfterDayWithHour(0, hour, minute);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(0, hour, minute);
|
||||
}
|
||||
|
||||
|
||||
// 明天军团拍卖行开始时间 20:20
|
||||
export function tomorrowGuildBegin() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.GUILD_OPEN);
|
||||
console.log(hour, minute)
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(1, hour, minute);
|
||||
}
|
||||
|
||||
// 明天军团拍卖行开始时间 20:20
|
||||
export function tomorrowGuildEnd() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.GUILD_CLOSE);
|
||||
console.log(hour, minute)
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(1, hour, minute);
|
||||
}
|
||||
|
||||
// 昨天军团拍卖行开始时间 20:20
|
||||
export function yestodayGuildBegin() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.GUILD_OPEN);
|
||||
return <Date>getTimeFunD(getZeroPointD()).getAfterDayWithHour(-1, hour, minute);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(-1, hour, minute);
|
||||
}
|
||||
|
||||
// 今天世界拍卖行开始时间 20:40
|
||||
export function todayWorldBegin() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.WORLD_OPEN);
|
||||
return <Date>getTimeFunD(getZeroPointD()).getAfterDayWithHour(0, hour, minute);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(0, hour, minute);
|
||||
}
|
||||
|
||||
// 今天世界拍卖行结束时间 22:00
|
||||
export function todayWorldEnd() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.WORLD_CLOSE);
|
||||
return <Date>getTimeFunD(getZeroPointD()).getAfterDayWithHour(0, hour, minute);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(0, hour, minute);
|
||||
}
|
||||
|
||||
// 拍卖行预览时间 20:00
|
||||
export function guildAuctionPreview() {
|
||||
let { hour, minute } = gameData.auctionTime.get(AUCTION_TIME.GUILD_PREVIEW);
|
||||
return <Date>getTimeFunD().getAfterDayAndSetHour(0, hour, minute);
|
||||
}
|
||||
|
||||
// 演武台。8点以前是今天的,8点以后是明天的
|
||||
export function getBossAuctionBegin() {
|
||||
if(Date.now() < guildAuctionPreview().getTime()) {
|
||||
return todayGuildBegin();
|
||||
} else {
|
||||
return tomorrowGuildBegin();
|
||||
}
|
||||
}
|
||||
|
||||
// 演武台。8点以前是今天的,8点以后是明天的
|
||||
export function getBossAuctionEnd() {
|
||||
if(Date.now() < guildAuctionPreview().getTime()) {
|
||||
return guildAuctionEnd();
|
||||
} else {
|
||||
return tomorrowGuildEnd();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -97,9 +143,13 @@ export function todayWorldEnd() {
|
||||
* @param {ItemReward[]} rewards
|
||||
*/
|
||||
export async function genAuction(guildCode: string, sourceType: number, sourceCode: string, serverId: number, rewards: ItemReward[]) {
|
||||
const begin = auctionBegin();
|
||||
let begin = auctionBegin();
|
||||
let end = auctionEnd();
|
||||
if(sourceType == AUCTION_SOURCE.BOSS) { // 军团boss本
|
||||
begin = getBossAuctionBegin();
|
||||
end = getBossAuctionEnd();
|
||||
}
|
||||
const guildEnd = guildAuctionEnd();
|
||||
const end = auctionEnd();
|
||||
const lotsData: LotParam[] = rewards.map(reward => {
|
||||
const { id, count } = reward;
|
||||
const code = genCode(LOT_CODE_LEN);
|
||||
|
||||
@@ -312,6 +312,32 @@ class Time {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 获取几天前的指定时分秒,但是不做前后的计算
|
||||
* @param day 几天前
|
||||
* @param hour 几点,默认为刷新时间
|
||||
* @param minute 几分
|
||||
* @param seconds 几秒
|
||||
*/
|
||||
public getBeforeDayAndSetHour(day: number = 0, hour = REFRESH_TIME, minute = 0, seconds = 0) {
|
||||
let t = this._setHour(this.time, hour, minute, seconds);
|
||||
let timestamp = t.getTime() - day * this.DAY_TO_MS;
|
||||
return this._returnResult(timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 获取几天后的指定时分秒,但是不做前后的计算
|
||||
* @param day 几天前
|
||||
* @param hour 几点,默认为刷新时间
|
||||
* @param minute 几分
|
||||
* @param seconds 几秒
|
||||
*/
|
||||
public getAfterDayAndSetHour(day: number = 0, hour = REFRESH_TIME, minute = 0, seconds = 0) {
|
||||
let t = this._setHour(this.time, hour, minute, seconds);
|
||||
let timestamp = t.getTime() + day * this.DAY_TO_MS;
|
||||
return this._returnResult(timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 获取某个时间的纯粹的几天前
|
||||
* @param day 几天前
|
||||
|
||||
Reference in New Issue
Block a user