任务:登录任务

This commit is contained in:
luying
2022-04-26 20:06:05 +08:00
parent b37586a706
commit 84304927c7
4 changed files with 22 additions and 13 deletions

View File

@@ -71,8 +71,6 @@ export class EntryHandler {
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user);
// 任务
checkTaskInEntry(serverId, role.roleId, self.app.get('serverId'), role);
if (role.hasGuild) {
addRoleToGuildChannel(role.roleId, self.app.get('serverId'), role.guildCode);
}
@@ -86,12 +84,20 @@ export class EntryHandler {
async getData(msg: { }, session: FrontendSession) {
let ip = session.get('ip');
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 loginTime = session.get('loginTime');
// 推送数据
pushData(role.hasInit, role, session);
// 任务
checkTaskInEntry(serverId, role.roleId, sid, role, loginTime);
let todayZeroPoint = getZeroPoint();
session.set('loginTime', nowSeconds());
session.push('loginTime', () => { });
return resResult(STATUS.SUCCESS, { todayZeroPoint });
}
@@ -102,7 +108,7 @@ export class EntryHandler {
await session.abind(role.roleId);
session.set('userid', role.userInfo.uid);
session.set('roleId', role.roleId);
session.set('loginTime', nowSeconds());
session.set('loginTime', role.loginTime);
session.set('roleName', role.roleName);
session.set('eventStatus', role.eventStatus);
session.set('blockType', role.blockType);
@@ -151,10 +157,13 @@ export class EntryHandler {
let { serverId } = role;
// 任务
checkTaskInEntry(serverId, role.roleId, self.app.get('serverId'), role);
checkTaskInEntry(serverId, role.roleId, self.app.get('serverId'), role, nowSeconds());
// 推送数据
pushData(role.hasInit, role, session, 'refresh');
session.set('loginTime', nowSeconds());
session.push('loginTime', () => { });
let todayZeroPoint = getZeroPoint();
return resResult(STATUS.SUCCESS, { todayZeroPoint });
}

View File

@@ -348,19 +348,17 @@ export class CheckSingleTask {
switch(this.taskType) {
case TASK_TYPE.LOGIN_SUM: // 1. 累计登录 x 天
{
let role = this.getRole();
let today = getZeroPoint();
if (today > role.loginTime) {
if (today > param.loginTime) {
result = { inc: 1 }
}
break;
}
case TASK_TYPE.LOGIN_SERIES: // 2. 连续登录 x 天
{
let role = this.getRole();
let today = getZeroPoint();
if (today > role.loginTime) {
if (today - role.loginTime > 24 * 60 * 60) {
if (today > param.loginTime) {
if (today - param.loginTime > 24 * 60 * 60) {
result = { set: 1 }
} else {
result = { inc: 1 }

View File

@@ -40,11 +40,11 @@ export async function checkTask(serverId: number, roleId: string, sid: string, t
await task.saveAndPush(sid);
}
export async function checkTaskInEntry(serverId: number, roleId: string, sid: string, role: RoleType) {
export async function checkTaskInEntry(serverId: number, roleId: string, sid: string, role: RoleType, loginTime: number) {
let task = new CheckTask(serverId, roleId);
task.setRole(role);
task.setParam(TASK_TYPE.LOGIN_SUM, {});
task.setParam(TASK_TYPE.LOGIN_SERIES, {});
task.setParam(TASK_TYPE.LOGIN_SUM, { loginTime });
task.setParam(TASK_TYPE.LOGIN_SERIES, { loginTime });
await task.saveAndPush(sid);
checkPopUpConditionInEntry(serverId, roleId, sid);
}

View File

@@ -52,6 +52,8 @@ export class TaskParamInter {
jewels?: JewelType[]; // 天晶石
debugInfo?: {condition: number};
loginTime?: number;
};
export class TaskParam extends TaskParamInter {