WARCH1 实现企微审批最小历史留存

这个提交包含在:
2026-05-20 00:22:27 +08:00
父节点 56a8e2bb0c
当前提交 5cd960cf90
共修改 28 个文件,包含 3081 行新增和 261 行删除
+17 -1
查看文件
@@ -9,6 +9,7 @@ const {
sanitizeErrorMessage,
validateCallbackConfig,
} = require("../services/integrations/wecomCallbackCrypto");
const { recordApprovalCallbackEvent } = require("../services/integrations/wecomApprovalArchive");
function toSafeString(value, maxLength = 500) {
if (value == null) return "";
@@ -128,7 +129,22 @@ async function wecomApprovalCallbackRoutes(fastify, options = {}) {
});
const summary = normalizeApprovalCallbackEvent(decrypted.plainXml);
const evidenceStore = options.evidenceStore || {
record: (eventSummary) => recordCallbackEvidence(eventSummary, { evidenceFile: runtimeConfig.evidenceFile }),
record: async (eventSummary) => {
let stored = null;
if (fastify.prisma) {
stored = await recordApprovalCallbackEvent({
prisma: fastify.prisma,
config: {
wecomCorpId: runtimeConfig.receiveId,
},
summary: eventSummary,
});
}
if (runtimeConfig.evidenceFile || !fastify.prisma) {
await recordCallbackEvidence(eventSummary, { evidenceFile: runtimeConfig.evidenceFile });
}
return stored || { recorded: true, duplicate: false };
},
};
const stored = await evidenceStore.record(summary);
fastify.log.info({