@@ -71,6 +71,8 @@ export class EntryHandler {
|
|||||||
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
||||||
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user);
|
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user);
|
||||||
|
|
||||||
|
// 任务
|
||||||
|
checkTaskInEntry(serverId, role.roleId, self.app.get('serverId'), role);
|
||||||
if (role.hasGuild) {
|
if (role.hasGuild) {
|
||||||
addRoleToGuildChannel(role.roleId, self.app.get('serverId'), role.guildCode);
|
addRoleToGuildChannel(role.roleId, self.app.get('serverId'), role.guildCode);
|
||||||
}
|
}
|
||||||
@@ -84,20 +86,12 @@ export class EntryHandler {
|
|||||||
async getData(msg: { }, session: FrontendSession) {
|
async getData(msg: { }, session: FrontendSession) {
|
||||||
let ip = session.get('ip');
|
let ip = session.get('ip');
|
||||||
let roleId = session.get('roleId');
|
let roleId = session.get('roleId');
|
||||||
let serverId = session.get('serverId');
|
|
||||||
let sid = session.get('sid');
|
|
||||||
let role = await RoleModel.findByRoleId(roleId, '-_id', true, true);
|
let role = await RoleModel.findByRoleId(roleId, '-_id', true, true);
|
||||||
let loginTime = session.get('loginTime');
|
|
||||||
// 推送数据
|
// 推送数据
|
||||||
pushData(role.hasInit, role, session);
|
pushData(role.hasInit, role, session);
|
||||||
|
|
||||||
// 任务
|
|
||||||
checkTaskInEntry(serverId, role.roleId, sid, role, loginTime);
|
|
||||||
let todayZeroPoint = getZeroPoint();
|
let todayZeroPoint = getZeroPoint();
|
||||||
|
|
||||||
session.set('loginTime', nowSeconds());
|
|
||||||
session.push('loginTime', () => { });
|
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { todayZeroPoint });
|
return resResult(STATUS.SUCCESS, { todayZeroPoint });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +102,7 @@ export class EntryHandler {
|
|||||||
await session.abind(role.roleId);
|
await session.abind(role.roleId);
|
||||||
session.set('userid', role.userInfo.uid);
|
session.set('userid', role.userInfo.uid);
|
||||||
session.set('roleId', role.roleId);
|
session.set('roleId', role.roleId);
|
||||||
session.set('loginTime', role.loginTime);
|
session.set('loginTime', nowSeconds());
|
||||||
session.set('roleName', role.roleName);
|
session.set('roleName', role.roleName);
|
||||||
session.set('eventStatus', role.eventStatus);
|
session.set('eventStatus', role.eventStatus);
|
||||||
session.set('blockType', role.blockType);
|
session.set('blockType', role.blockType);
|
||||||
@@ -157,13 +151,10 @@ export class EntryHandler {
|
|||||||
|
|
||||||
let { serverId } = role;
|
let { serverId } = role;
|
||||||
// 任务
|
// 任务
|
||||||
checkTaskInEntry(serverId, role.roleId, self.app.get('serverId'), role, nowSeconds());
|
checkTaskInEntry(serverId, role.roleId, self.app.get('serverId'), role);
|
||||||
// 推送数据
|
// 推送数据
|
||||||
pushData(role.hasInit, role, session, 'refresh');
|
pushData(role.hasInit, role, session, 'refresh');
|
||||||
|
|
||||||
session.set('loginTime', nowSeconds());
|
|
||||||
session.push('loginTime', () => { });
|
|
||||||
|
|
||||||
let todayZeroPoint = getZeroPoint();
|
let todayZeroPoint = getZeroPoint();
|
||||||
return resResult(STATUS.SUCCESS, { todayZeroPoint });
|
return resResult(STATUS.SUCCESS, { todayZeroPoint });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -348,17 +348,19 @@ export class CheckSingleTask {
|
|||||||
switch(this.taskType) {
|
switch(this.taskType) {
|
||||||
case TASK_TYPE.LOGIN_SUM: // 1. 累计登录 x 天
|
case TASK_TYPE.LOGIN_SUM: // 1. 累计登录 x 天
|
||||||
{
|
{
|
||||||
|
let role = this.getRole();
|
||||||
let today = getZeroPoint();
|
let today = getZeroPoint();
|
||||||
if (today > param.loginTime) {
|
if (today > role.loginTime) {
|
||||||
result = { inc: 1 }
|
result = { inc: 1 }
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TASK_TYPE.LOGIN_SERIES: // 2. 连续登录 x 天
|
case TASK_TYPE.LOGIN_SERIES: // 2. 连续登录 x 天
|
||||||
{
|
{
|
||||||
|
let role = this.getRole();
|
||||||
let today = getZeroPoint();
|
let today = getZeroPoint();
|
||||||
if (today > param.loginTime) {
|
if (today > role.loginTime) {
|
||||||
if (today - param.loginTime > 24 * 60 * 60) {
|
if (today - role.loginTime > 24 * 60 * 60) {
|
||||||
result = { set: 1 }
|
result = { set: 1 }
|
||||||
} else {
|
} else {
|
||||||
result = { inc: 1 }
|
result = { inc: 1 }
|
||||||
|
|||||||
@@ -40,11 +40,11 @@ export async function checkTask(serverId: number, roleId: string, sid: string, t
|
|||||||
await task.saveAndPush(sid);
|
await task.saveAndPush(sid);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function checkTaskInEntry(serverId: number, roleId: string, sid: string, role: RoleType, loginTime: number) {
|
export async function checkTaskInEntry(serverId: number, roleId: string, sid: string, role: RoleType) {
|
||||||
let task = new CheckTask(serverId, roleId);
|
let task = new CheckTask(serverId, roleId);
|
||||||
task.setRole(role);
|
task.setRole(role);
|
||||||
task.setParam(TASK_TYPE.LOGIN_SUM, { loginTime });
|
task.setParam(TASK_TYPE.LOGIN_SUM, {});
|
||||||
task.setParam(TASK_TYPE.LOGIN_SERIES, { loginTime });
|
task.setParam(TASK_TYPE.LOGIN_SERIES, {});
|
||||||
await task.saveAndPush(sid);
|
await task.saveAndPush(sid);
|
||||||
checkPopUpConditionInEntry(serverId, roleId, sid);
|
checkPopUpConditionInEntry(serverId, roleId, sid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,8 +52,6 @@ export class TaskParamInter {
|
|||||||
jewels?: JewelType[]; // 天晶石
|
jewels?: JewelType[]; // 天晶石
|
||||||
|
|
||||||
debugInfo?: {condition: number};
|
debugInfo?: {condition: number};
|
||||||
|
|
||||||
loginTime?: number;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export class TaskParam extends TaskParamInter {
|
export class TaskParam extends TaskParamInter {
|
||||||
|
|||||||
Reference in New Issue
Block a user