任务:登录任务
This commit is contained in:
@@ -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 });
|
||||
}
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -52,6 +52,8 @@ export class TaskParamInter {
|
||||
jewels?: JewelType[]; // 天晶石
|
||||
|
||||
debugInfo?: {condition: number};
|
||||
|
||||
loginTime?: number;
|
||||
};
|
||||
|
||||
export class TaskParam extends TaskParamInter {
|
||||
|
||||
Reference in New Issue
Block a user