🐞 fix(消息): 修复筛选玩家范围时的问题

This commit is contained in:
luying
2023-03-21 21:33:52 +08:00
parent 5e15568f71
commit 4061612a2c
3 changed files with 6 additions and 5 deletions
@@ -222,7 +222,7 @@ export class ChatHandler {
if(!dic) return resResult(STATUS.WRONG_PARMS); if(!dic) return resResult(STATUS.WRONG_PARMS);
// let result = await pushMsg37(Date.now(), dic, SDK_PUSH_TARGET_TYPE.SINGLE, `${msg.uid}`); // let result = await pushMsg37(Date.now(), dic, SDK_PUSH_TARGET_TYPE.SINGLE, `${msg.uid}`);
pushClientMsg(SDK_PUSH_MSG_TYPE.GVG_BATTLE_START); await pushClientMsg(SDK_PUSH_MSG_TYPE.AFK_ATTENTION);
return resResult(STATUS.SUCCESS); return resResult(STATUS.SUCCESS);
} }
+2 -1
View File
@@ -282,6 +282,7 @@ export async function pushClientMsg(type: SDK_PUSH_MSG_TYPE) {
let { target, audiences } = targetObj; let { target, audiences } = targetObj;
let t = Date.now(); let t = Date.now();
for(let audience of audiences) { for(let audience of audiences) {
// console.log(target, audience)
if(audience) await pushMsg37(t, dicPushMessage, target, audience); if(audience) await pushMsg37(t, dicPushMessage, target, audience);
} }
} }
@@ -295,7 +296,7 @@ async function getPushTarget(playerType: number): Promise<{ target: SDK_PUSH_TAR
{ uids = await getHasLeaguePlayers(); break; } { uids = await getHasLeaguePlayers(); break; }
case SDK_PUSH_MSG_PLAYER_TYPE.AFK: case SDK_PUSH_MSG_PLAYER_TYPE.AFK:
{ uids = await getAfkPlayers(); break; } { uids = await getAfkPlayers(); break; }
case SDK_PUSH_MSG_PLAYER_TYPE.HAS_LEAGUE: case SDK_PUSH_MSG_PLAYER_TYPE.ACTIVE_PLAYER:
{ uids = await getActivePlayers(); break; } { uids = await getActivePlayers(); break; }
} }
let len = uids.length; let len = uids.length;
+3 -3
View File
@@ -826,20 +826,20 @@ export default class Role extends BaseModel {
public static async findHasGuildPlayers(createdAt?: Date) { public static async findHasGuildPlayers(createdAt?: Date) {
let filter = createdAt? { createdAt: { $gt: createdAt } }: {}; let filter = createdAt? { createdAt: { $gt: createdAt } }: {};
let roles: RoleType[] = await RoleModel.find({ loginTime: { $gte: nowSeconds() - 24 * 60 * 60 }, ...filter, hasGuild: true }).sort({ createdAt: 1 }).select('userInfo.channelInfo createdAt').lean(); let roles: RoleType[] = await RoleModel.find({ loginTime: { $gte: nowSeconds() - 24 * 60 * 60 }, ...filter, hasGuild: true }).sort({ createdAt: 1 }).select('userInfo.channelInfo quitTime loginTime createdAt').lean();
return roles; return roles;
} }
public static async findAfkPlayers(createdAt?: Date) { public static async findAfkPlayers(createdAt?: Date) {
let filter = createdAt? { createdAt: { $gt: createdAt } }: {}; let filter = createdAt? { createdAt: { $gt: createdAt } }: {};
let roles: RoleType[] = await RoleModel.find({ loginTime: { $lt: nowSeconds() - 48 * 60 * 60 }, lv: { $gte: 20 }, hasPushMsg: { $exists: false }, ...filter }).sort({ createdAt }).select('userInfo.channelInfo createdAt').lean(); let roles: RoleType[] = await RoleModel.find({ loginTime: { $lt: nowSeconds() - 48 * 60 * 60 }, lv: { $gte: 20 }, hasPushMsg: { $exists: false }, ...filter }).sort({ createdAt: 1 }).select('userInfo.channelInfo quitTime loginTime createdAt').lean();
await RoleModel.updateMany({ _id: roles.map(cur => cur._id) }, { $set: { hasPushMsg: true } }); await RoleModel.updateMany({ _id: roles.map(cur => cur._id) }, { $set: { hasPushMsg: true } });
return roles; return roles;
} }
public static async findActivePlayers(createdAt?: Date) { public static async findActivePlayers(createdAt?: Date) {
let filter = createdAt? { createdAt: { $gt: createdAt } }: {}; let filter = createdAt? { createdAt: { $gt: createdAt } }: {};
let roles: RoleType[] = await RoleModel.find({ loginTime: { $gte: nowSeconds() - 24 * 60 * 60 }, ...filter }).sort({ createdAt: 1 }).select('userInfo.channelInfo createdAt').lean(); let roles: RoleType[] = await RoleModel.find({ loginTime: { $gte: nowSeconds() - 24 * 60 * 60 }, ...filter }).sort({ createdAt: 1 }).select('userInfo.channelInfo quitTime loginTime createdAt').lean();
return roles; return roles;
} }
} }