fix 修复联调时发现的bug
This commit is contained in:
@@ -2,9 +2,30 @@ import { Application, FrontendOrBackendSession } from 'pinus';
|
||||
import { getGamedata } from '../pubUtils/gamedata';
|
||||
import EventRecord, { EventRecordModel } from '../db/EventRecord';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import { genCode, decodeStrSingle, decodeStr, getRandomWithWeight } from '../pubUtils/util';
|
||||
import { genCode, decodeStrSingle, decodeStr, getRandomWithWeight, resResult } from '../pubUtils/util';
|
||||
import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_TYPE, EVENT_RANDOM_TYPE_ONE_OPEN, EVENT_QUIZ_NUM, EVENT_ANSWER_STATUS } from '../consts/consts';
|
||||
import { EVENT_REFRESH_NUM } from '../consts/consts';
|
||||
import { STATUS } from '../consts/statusCode';
|
||||
|
||||
/**
|
||||
* 从检查接口调用,检查是否有这么个战斗,顺便保存一下battleCode
|
||||
*
|
||||
* @param roleId
|
||||
* @param eventStatus
|
||||
* @param battleId
|
||||
* @param battleCode
|
||||
*/
|
||||
export async function checkEventBattle(roleId: string, eventStatus: number, battleId: number, battleCode: string) {
|
||||
let now = new Date();
|
||||
let refTime = eventStatus == EVENT_STATUS.OPEN? getEventTime(now): 0;
|
||||
|
||||
let result = await EventRecordModel.setBattleCode(roleId, battleId, refTime, battleCode);
|
||||
if (!result) {
|
||||
return { status: -1, resResult: resResult(STATUS.EVENT_INFO_NOT_FOUND) };
|
||||
} else {
|
||||
return { status: 0, data: result };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从关卡结算接口调用,保存战斗情况
|
||||
@@ -17,14 +38,14 @@ import { EVENT_REFRESH_NUM } from '../consts/consts';
|
||||
* @param battleCode
|
||||
*/
|
||||
export async function setBattleStatus(app: Application, session: FrontendOrBackendSession, roleId: string, battleId: number , isSuccess: boolean, battleCode: string) {
|
||||
let now = new Date();
|
||||
let eventStatus = session.get('eventStatus');
|
||||
let refTime = eventStatus == EVENT_STATUS.OPEN? getEventTime(now): 0;
|
||||
|
||||
let { BATTLE_SUCCESS, BATTLE_FAIL } = EVENT_RECORD_STATUS;
|
||||
let result = await EventRecordModel.setBattleStatus(roleId, battleId, refTime, isSuccess?BATTLE_SUCCESS:BATTLE_FAIL, battleCode);
|
||||
let result = await EventRecordModel.setBattleStatus(roleId, battleId, battleCode, isSuccess?BATTLE_SUCCESS:BATTLE_FAIL);
|
||||
if (!result) {
|
||||
return { status: -1, resResult: resResult(STATUS.EVENT_INFO_NOT_FOUND) };
|
||||
}
|
||||
await checkEvent(app, session, true);
|
||||
return result;
|
||||
return { status: 0, data: result };
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -34,8 +55,8 @@ export async function setBattleStatus(app: Application, session: FrontendOrBacke
|
||||
*/
|
||||
export function getEventTime(now: Date) {
|
||||
let curTime = Number(now);
|
||||
let todayA = now.setHours(12, 0, 0, 0); // 每天12点
|
||||
let todayB = now.setHours(18, 0, 0, 0); // 每天18点
|
||||
let todayA = now.setHours(12, 0, 0, 0) - 8*60*60*1000; // 每天12点,修复时差
|
||||
let todayB = now.setHours(18, 0, 0, 0) - 8*60*60*1000; // 每天18点,修复时差
|
||||
let yesterdayB = todayB - 86400000; // 前一天12点
|
||||
let t = 0;
|
||||
if(curTime < todayA) {
|
||||
@@ -45,6 +66,7 @@ export function getEventTime(now: Date) {
|
||||
} else if (curTime >= todayB) {
|
||||
t = todayB;
|
||||
}
|
||||
console.log('getEventTime', curTime, todayA, todayB, yesterdayB, t);
|
||||
return t
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user