满足条件开启功能推送,详细功能校验暂缺
This commit is contained in:
@@ -3,7 +3,7 @@ import { getGamedata } from '../pubUtils/gamedata';
|
||||
import EventRecord, { EventRecordModel } from '../db/EventRecord';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import { genCode, decodeStrSingle, decodeStr, getRandomWithWeight, resResult, setLocalHours } 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_STATUS, EVENT_RECORD_STATUS, EVENT_TYPE, EVENT_RANDOM_TYPE_ONE_OPEN, EVENT_QUIZ_NUM, EVENT_ANSWER_STATUS, FUNCS_ID } from '../consts/consts';
|
||||
import { EVENT_REFRESH_NUM } from '../consts/consts';
|
||||
import { STATUS } from '../consts/statusCode';
|
||||
|
||||
@@ -87,7 +87,8 @@ export async function startEvent(app: Application, session: FrontendOrBackendSes
|
||||
// console.log('*******setEventStatus')
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let channelName = roleId;
|
||||
let serverId = session.get('serverId');
|
||||
let channelName = `server-${serverId}`;
|
||||
let event = await refreshEvent(1, roleId, roleName, 0, []); // 刷新初始的一件
|
||||
await RoleModel.setEventStatus(roleId, EVENT_STATUS.STARTING);
|
||||
session.set('eventStatus', EVENT_STATUS.STARTING);
|
||||
@@ -108,25 +109,31 @@ export async function checkEvent(app: Application, session: FrontendOrBackendSes
|
||||
try {
|
||||
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId');
|
||||
let funcs = session.get('funcs');
|
||||
if(roleId) {
|
||||
|
||||
let roleName = session.get('roleName');
|
||||
let channelName = roleId;
|
||||
let channelName = `server-${serverId}`;
|
||||
let eventStatus = session.get('eventStatus')||EVENT_STATUS.WAITING;
|
||||
|
||||
let eventTime = session.get('getEventTime')||0;
|
||||
let now = new Date();
|
||||
let t = getEventTime(now);
|
||||
|
||||
let channel = app.get('channelService').getChannel(channelName, false);
|
||||
|
||||
if(!!channel && (eventTime < t || isForce)) { // 第一次登陆后可以刷新了
|
||||
|
||||
let event = await getEvent(eventStatus, roleId, roleName);
|
||||
if (eventStatus == EVENT_STATUS.STARTING || eventStatus == EVENT_STATUS.OPEN) {
|
||||
pushEventMsg(app, roleId, channelName, { event }); // 推送
|
||||
session.set('getEventTime', t);
|
||||
session.push('getEventTime', () => {});
|
||||
if(funcs && funcs.includes(FUNCS_ID.EVENT) && eventStatus == EVENT_STATUS.WAITING) {
|
||||
await startEvent(app, session);
|
||||
} else {
|
||||
let eventTime = session.get('getEventTime')||0;
|
||||
let now = new Date();
|
||||
let t = getEventTime(now);
|
||||
|
||||
let channel = app.get('channelService').getChannel(channelName, false);
|
||||
|
||||
if(!!channel && (eventTime < t || isForce)) { // 第一次登陆后可以刷新了
|
||||
|
||||
let event = await getEvent(eventStatus, roleId, roleName);
|
||||
if (eventStatus == EVENT_STATUS.STARTING || eventStatus == EVENT_STATUS.OPEN) {
|
||||
pushEventMsg(app, roleId, channelName, { event }); // 推送
|
||||
session.set('getEventTime', t);
|
||||
session.push('getEventTime', () => {});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user