后端迁移Webhook服务

This commit is contained in:
yml
2026-05-21 15:07:07 +08:00
parent 26739235e4
commit a2d029c7da
2 changed files with 21 additions and 2 deletions
@@ -16,6 +16,13 @@ import { logWebhook } from '../../utils/logger.js'
import { parseAmountToFen } from '../../utils/money.js'
import { nowIso } from '../../utils/time.js'
type AgisoTradeWebhookDeps = {
updateWebhookEvent?: typeof updateWebhookEvent
hasConfiguredOrderItems?: typeof hasConfiguredOrderItems
upsertOrderFromWebhook?: typeof upsertOrderFromWebhook
enrichAgisoXianyuTradeOrder?: typeof enrichAgisoXianyuTradeOrder
}
export async function processAgisoTradeWebhook(requestLike) {
const parsed = parseAgisoTradeRequest(requestLike)
const webhookEvent = await createWebhookEvent(buildWebhookEventInput(requestLike, parsed))
@@ -87,7 +94,7 @@ export async function executeAgisoTradeWebhookWithDeps(
parsed,
webhookEventId,
{ requestId = '' } = {},
deps = {},
deps: AgisoTradeWebhookDeps = {},
) {
const updateEvent = deps.updateWebhookEvent || updateWebhookEvent
const hasConfiguredItems = deps.hasConfiguredOrderItems || hasConfiguredOrderItems
@@ -280,7 +287,11 @@ export async function executeAgisoTradeWebhookWithDeps(
}
}
async function enrichTradeBeforeUpsert(parsed, { requestId = '', webhookEventId = null } = {}, deps = {}) {
async function enrichTradeBeforeUpsert(
parsed,
{ requestId = '', webhookEventId = null } = {},
deps: AgisoTradeWebhookDeps = {},
) {
const enrichOrder = deps.enrichAgisoXianyuTradeOrder || enrichAgisoXianyuTradeOrder
if (parsed.provider !== 'agiso' || parsed.platform !== 'xianyu') {
@@ -373,6 +373,14 @@
- `npm run typecheck`
- `npm run build`
- `npm test` 共 139 个用例通过
65. webhook service 迁移到 `.ts`
- `src/services/order/webhook-service.ts`
66. webhook 编排依赖注入边界已补最小类型,入口编排、解析、验签、忽略、补查、upsert 逻辑已进入 TypeScript 编译链路
67. Docker 内验证通过:
- `src/services/order/webhook-service.test.js` 共 9 个用例通过
- `npm run typecheck`
- `npm run build`
- `npm test` 共 139 个用例通过
## 下一步建议