后端迁移Webhook服务
This commit is contained in:
+13
-2
@@ -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 个用例通过
|
||||
|
||||
## 下一步建议
|
||||
|
||||
|
||||
Reference in New Issue
Block a user