diff --git a/game-server/app/services/pushService.ts b/game-server/app/services/pushService.ts index 625b06bd9..5e811c78f 100644 --- a/game-server/app/services/pushService.ts +++ b/game-server/app/services/pushService.ts @@ -279,13 +279,13 @@ export async function pushClientMsg(type: SDK_PUSH_MSG_TYPE) { if(!dicPushMessage) return; let targetObj = await getPushTarget(dicPushMessage.playerType); if(!targetObj) return; - if(!needPushMsg()) return; + if(!needPushMsg(pinus.app.get('env'))) return; let { target, audiences } = targetObj; let t = Date.now(); for(let i = 0; i < audiences.length; i++) { let audience = audiences[i]; // console.log(target, audience) - if(audience) { + if(audience || target == SDK_PUSH_TARGET_TYPE.ALL ) { await timeoutAsync(i * 10) await pushMsg37(t.toString(), dicPushMessage, target, audience); } @@ -300,26 +300,29 @@ function timeoutAsync(time: number) { }) } +// 只推送all async function getPushTarget(playerType: number): Promise<{ target: SDK_PUSH_TARGET_TYPE, audiences: string[] }> { - let uids: number[] = []; - switch(playerType) { - case SDK_PUSH_MSG_PLAYER_TYPE.HAS_GUILD: - { uids = await getHasGuildPlayers(); break; } - case SDK_PUSH_MSG_PLAYER_TYPE.HAS_LEAGUE: - { uids = await getHasLeaguePlayers(); break; } - case SDK_PUSH_MSG_PLAYER_TYPE.AFK: - { uids = await getAfkPlayers(); break; } - case SDK_PUSH_MSG_PLAYER_TYPE.ACTIVE_PLAYER: - { uids = await getActivePlayers(); break; } - } - let len = uids.length; - if(len == 0) return null; - if(len == 1) return { target: SDK_PUSH_TARGET_TYPE.SINGLE, audiences: [uids.join()] }; - let audiences: string[] = []; - for(let i = 0; i < Math.ceil(len/200); i++) { - audiences.push(uids.slice(i * 200, i * 200 + 200).join()) - } - return { target: SDK_PUSH_TARGET_TYPE.LIST, audiences }; + return { target: SDK_PUSH_TARGET_TYPE.ALL, audiences: [''] } + + // let uids: number[] = []; + // switch(playerType) { + // case SDK_PUSH_MSG_PLAYER_TYPE.HAS_GUILD: + // { uids = await getHasGuildPlayers(); break; } + // case SDK_PUSH_MSG_PLAYER_TYPE.HAS_LEAGUE: + // { uids = await getHasLeaguePlayers(); break; } + // case SDK_PUSH_MSG_PLAYER_TYPE.AFK: + // { uids = await getAfkPlayers(); break; } + // case SDK_PUSH_MSG_PLAYER_TYPE.ACTIVE_PLAYER: + // { uids = await getActivePlayers(); break; } + // } + // let len = uids.length; + // if(len == 0) return null; + // if(len == 1) return { target: SDK_PUSH_TARGET_TYPE.SINGLE, audiences: [uids.join()] }; + // let audiences: string[] = []; + // for(let i = 0; i < Math.ceil(len/200); i++) { + // audiences.push(uids.slice(i * 200, i * 200 + 200).join()) + // } + // return { target: SDK_PUSH_TARGET_TYPE.LIST, audiences }; } // 有军团且24小时内登录过但当前未在线的玩家 diff --git a/game-server/app/services/timeTaskService.ts b/game-server/app/services/timeTaskService.ts index dd3355c80..c70e0b6fc 100644 --- a/game-server/app/services/timeTaskService.ts +++ b/game-server/app/services/timeTaskService.ts @@ -1013,7 +1013,7 @@ export async function gvgBattleEndSchedule() { async function initPushMsgSchedule() { scheduleJob('sendAfkPlayers', '0 0 19 * * ?', async () => { - pushClientMsg(SDK_PUSH_MSG_TYPE.AFK_ATTENTION); + // pushClientMsg(SDK_PUSH_MSG_TYPE.AFK_ATTENTION); pushClientMsg(SDK_PUSH_MSG_TYPE.AP_DINNER); }); scheduleJob('sendAfkPlayers', '0 0 12 * * ?', async () => { diff --git a/shared/pubUtils/dictionary/DicServerConst.ts b/shared/pubUtils/dictionary/DicServerConst.ts index 44819efc6..1b3bdd842 100644 --- a/shared/pubUtils/dictionary/DicServerConst.ts +++ b/shared/pubUtils/dictionary/DicServerConst.ts @@ -54,7 +54,7 @@ export interface DicServerConst { // 是否返利 readonly NEED_REBATE: number; // 推送 - readonly PUSH_MSG: number; + readonly PUSH_MSG_ENV: string; // 是否关闭剧情弹幕 readonly CLOSE_SCRIPT_BARRAGE: number; } diff --git a/shared/pubUtils/sdkUtil.ts b/shared/pubUtils/sdkUtil.ts index 78e5e7d35..0ce1d137f 100644 --- a/shared/pubUtils/sdkUtil.ts +++ b/shared/pubUtils/sdkUtil.ts @@ -190,8 +190,8 @@ export function needRebate() { return gameData.serverConst.NEED_REBATE == 1; } -export function needPushMsg() { - return gameData.serverConst.PUSH_MSG == 1; +export function needPushMsg(env: string) { + return gameData.serverConst.PUSH_MSG_ENV == env; } export function closeScriptBarrage() { diff --git a/shared/resource/jsons/server_const.json b/shared/resource/jsons/server_const.json index 2829173d1..43ef6de88 100644 --- a/shared/resource/jsons/server_const.json +++ b/shared/resource/jsons/server_const.json @@ -36,6 +36,6 @@ "CAN_PAY": 1, "SKIP_ENCODE": 0, "NEED_REBATE": 0, - "PUSH_MSG": 0, + "PUSH_MSG_ENV": "zy1", "CLOSE_SCRIPT_BARRAGE": 1 } \ No newline at end of file