fix 修复联调时发现的bug

This commit is contained in:
luying
2020-10-27 16:50:16 +08:00
parent a74b659590
commit c25f95942c
5 changed files with 54 additions and 23 deletions
+30 -8
View File
@@ -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
}