奇遇:修复多次创建奇遇bug

This commit is contained in:
luying
2021-08-27 14:40:43 +08:00
parent 2b3993f4f2
commit cbc4087a5b
4 changed files with 16 additions and 19 deletions
@@ -45,9 +45,9 @@ Filter.prototype.before = async function (routeRecord: RouteRecord, msg: any, se
next(null);
};
Filter.prototype.after = function (err: Error, routeRecord: RouteRecord, msg: any, session: FrontendOrBackendSession, resp: any, next: HandlerCallback) {
Filter.prototype.after = async function (err: Error, routeRecord: RouteRecord, msg: any, session: FrontendOrBackendSession, resp: any, next: HandlerCallback) {
//刷新
refresh(session);
await refresh(session);
// return checkEvent(session).then(()=>{
// next(err);
// }).catch(e => {
+13 -10
View File
@@ -83,16 +83,19 @@ export function getEventTime(now: Date) {
*/
export async function startEvent(session: FrontendOrBackendSession) {
// console.log('*******setEventStatus')
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
let event = await refreshEvent(1, roleId, roleName, 0, []); // 刷新初始的一件
await RoleModel.setEventStatus(roleId, EVENT_STATUS.STARTING);
session.set('eventStatus', EVENT_STATUS.STARTING);
session.push('eventStatus', () => {});
pushEventMsg(sid, roleId, { event }); // 推送
const funcs = session.get('funcs');
const eventStatus = session.get('eventStatus')||EVENT_STATUS.WAITING;
if(funcs && funcs.includes(FUNCS_ID.EVENT) && eventStatus == EVENT_STATUS.WAITING) {
// console.log('*******setEventStatus')
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
let event = await refreshEvent(1, roleId, roleName, 0, []); // 刷新初始的一件
await RoleModel.setEventStatus(roleId, EVENT_STATUS.STARTING);
session.set('eventStatus', EVENT_STATUS.STARTING);
session.push('eventStatus', () => {});
pushEventMsg(sid, roleId, { event }); // 推送
}
}
/**
+1 -5
View File
@@ -14,15 +14,11 @@ import { startEvent } from "./eventSercive";
export async function refresh(session: FrontendOrBackendSession) {
const roleId = session.get('roleId');
const sid = session.get('sid');
const funcs = session.get('funcs');
const eventStatus = session.get('eventStatus')||EVENT_STATUS.WAITING;
let uids = [{uid: roleId, sid}];
pinus.app.get('channelService').pushMessageByUids('onPushCurrentTime', resResult(STATUS.SUCCESS, {time: Date.now()}), uids);
await refreshDaily(session);
if(funcs && funcs.includes(FUNCS_ID.EVENT) && eventStatus == EVENT_STATUS.WAITING) {
await startEvent(session);
}
await startEvent(session);
}
/**