feat: 数据回流通知(提交/采集结果推运营群,默认关闭)

This commit is contained in:
ABAPPLO
2026-09-01 17:34:14 +08:00
parent d01281fba9
commit bca524417e
5 changed files with 276 additions and 11 deletions

View File

@@ -13,6 +13,10 @@ import {
type WecomBindings,
} from "./wecom-client";
import { runDueSoonWecomNotifications } from "./wecom-notifier-service";
import {
isWecomFeedbackEnabled,
notifyCollectionFinished,
} from "./wecom-feedback-service";
declare global {
var __kocLoopScheduler: ScheduledTask | undefined;
@@ -28,19 +32,25 @@ async function runDailyJob() {
);
const collections = await runScheduledCollections(db, Date.now(), config);
const accounts = await backfillAccountProfiles(db, config, 10);
const wecomConfig = resolveWecomConfig(env as unknown as WecomBindings);
let wecom: Awaited<ReturnType<typeof runDueSoonWecomNotifications>> | null =
null;
if (isEnabled(env.WECOM_NOTIFY_ENABLED, true)) {
const wecomConfig = resolveWecomConfig(env as unknown as WecomBindings);
if (
wecomConfig.robotWebhook ||
(wecomConfig.corpId && wecomConfig.agentId && wecomConfig.secret)
) {
try {
wecom = await runDueSoonWecomNotifications(db, wecomConfig);
} catch (error) {
console.error("[KOC LOOP] wecom notify failed", error);
}
if (
isEnabled(env.WECOM_NOTIFY_ENABLED, true) &&
(wecomConfig.robotWebhook ||
(wecomConfig.corpId && wecomConfig.agentId && wecomConfig.secret))
) {
try {
wecom = await runDueSoonWecomNotifications(db, wecomConfig);
} catch (error) {
console.error("[KOC LOOP] wecom notify failed", error);
}
}
if (isWecomFeedbackEnabled()) {
try {
await notifyCollectionFinished(collections, wecomConfig);
} catch (error) {
console.error("[KOC LOOP] wecom collection feedback failed", error);
}
}
console.info("[KOC LOOP] daily scheduler completed", {