🐞 fix(gvg): 修复根据开服时间判断单服还是跨服
This commit is contained in:
@@ -4,7 +4,7 @@ import { GVGLeagueModel } from "../../../db/GVGLeague";
|
|||||||
import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
||||||
import { GVGMainData, LeagueDistributeInfo, LeagueMemberDistributeInfo, LeagueMemberListInfo } from "../../../domain/gvgField/returnData";
|
import { GVGMainData, LeagueDistributeInfo, LeagueMemberDistributeInfo, LeagueMemberListInfo } from "../../../domain/gvgField/returnData";
|
||||||
import { resResult } from "../../../pubUtils/util";
|
import { resResult } from "../../../pubUtils/util";
|
||||||
import { calLeagueCe, getGVGConfig, getGVGPeriodData, getGVGServerType } from "../../../services/gvg/gvgService";
|
import { calLeagueCe, getGVGConfig, getGVGPeriodData, getGVGServerType, getServerTypeByTime } from "../../../services/gvg/gvgService";
|
||||||
import { autoCreateLeague, checkCanChooseJob, checkCanPrepare, checkLeagueAuth, getMyAuth } from "../../../services/gvg/gvgTeamService";
|
import { autoCreateLeague, checkCanChooseJob, checkCanPrepare, checkLeagueAuth, getMyAuth } from "../../../services/gvg/gvgTeamService";
|
||||||
import { getAllServerName } from "../../../services/redisService";
|
import { getAllServerName } from "../../../services/redisService";
|
||||||
import { Distribute, GVGUserDataModel } from "../../../db/GVGUserData";
|
import { Distribute, GVGUserDataModel } from "../../../db/GVGUserData";
|
||||||
@@ -22,6 +22,7 @@ import { getGVGCities, getGVGCitiesInfo } from "../../../services/gvg/gvgBattleS
|
|||||||
import { GVGRecModel } from "../../../db/GVGRec";
|
import { GVGRecModel } from "../../../db/GVGRec";
|
||||||
import { checkGVGTask } from "../../../services/task/taskService";
|
import { checkGVGTask } from "../../../services/task/taskService";
|
||||||
import { getFightTimeByPeriod, getVestiges } from "../../../services/gvg/gvgFightService";
|
import { getFightTimeByPeriod, getVestiges } from "../../../services/gvg/gvgFightService";
|
||||||
|
import { getSeconds } from "../../../pubUtils/timeUtil";
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
new HandlerService(app, {});
|
new HandlerService(app, {});
|
||||||
@@ -455,4 +456,10 @@ export class GVGHandler {
|
|||||||
const result = await handleGVGCost(roleId, myLeague.leagueCode, sid, leagueItems, items, ITEM_CHANGE_REASON.DEBUG);
|
const result = await handleGVGCost(roleId, myLeague.leagueCode, sid, leagueItems, items, ITEM_CHANGE_REASON.DEBUG);
|
||||||
return resResult(STATUS.SUCCESS, { result });
|
return resResult(STATUS.SUCCESS, { result });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getServerType(msg: { time: string }, session: BackendSession) {
|
||||||
|
let t = new Date(msg.time);
|
||||||
|
let serverType = getServerTypeByTime(getSeconds(t));
|
||||||
|
return resResult(STATUS.SUCCESS, { serverType });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -88,12 +88,14 @@ export function getGVGConfig() {
|
|||||||
return { configId, teamTime, prepareTime, battleTime, scheduleTime }
|
return { configId, teamTime, prepareTime, battleTime, scheduleTime }
|
||||||
}
|
}
|
||||||
|
|
||||||
function getServerTypeByTime(openTime: number) {
|
export function getServerTypeByTime(openTime: number) {
|
||||||
let today = nowSeconds();
|
let today = nowSeconds();
|
||||||
if(today - openTime < WEEK_TO_SECOND) return GVG_SERVER_TYPE.NO;
|
if(today - openTime < WEEK_TO_SECOND) return GVG_SERVER_TYPE.NO;
|
||||||
let toWeek = getCurrentTeamTime(today);
|
let toWeek = getCurrentTeamTime(today);
|
||||||
let openWeek = getCurrentTeamTime(openTime);
|
let openWeek = getCurrentTeamTime(openTime);
|
||||||
let n = Math.floor((toWeek - openWeek) / WEEK_TO_SECOND);
|
let n = Math.floor((toWeek - openWeek) / WEEK_TO_SECOND);
|
||||||
|
let day = new Date(openTime * 1000).getDay();
|
||||||
|
if(day == 6) n++; // 周六开服的服务器延后一周开启跨服
|
||||||
return n <= GVG.GVG_CROSS_SERVICE_STARTTIME? GVG_SERVER_TYPE.SINGLE: GVG_SERVER_TYPE.MULTI;
|
return n <= GVG.GVG_CROSS_SERVICE_STARTTIME? GVG_SERVER_TYPE.SINGLE: GVG_SERVER_TYPE.MULTI;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user