增强关键接口幂等与限流保护

This commit is contained in:
yml2213
2026-05-26 08:32:15 +08:00
parent dea3023825
commit 49ac82698f
7 changed files with 369 additions and 10 deletions
+11 -2
View File
@@ -1,13 +1,22 @@
import { Router } from 'express'
import { createRateLimitMiddleware } from '../middleware/rate-limit.js'
import { createOpen91Order } from '../services/open-91/order-create-service.js'
import { queryOpen91Order } from '../services/open-91/order-query-service.js'
import { buildOpen91ErrorResponse } from '../services/open-91/shared.js'
import { createRequestId, logIntegration } from '../utils/logger.js'
const router = Router()
const open91RateLimit = createRateLimitMiddleware({
scope: 'open91',
windowMs: 60_000,
max: 120,
onLimit: (_req, res) => {
res.status(200).json(buildOpen91ErrorResponse('请求过于频繁,请稍后再试', 429))
},
})
router.post('/orders/create', async (req, res) => {
router.post('/orders/create', open91RateLimit, async (req, res) => {
const requestId = createRequestId('91')
const startedAt = Date.now()
@@ -39,7 +48,7 @@ router.post('/orders/create', async (req, res) => {
}
})
router.post('/orders/query', async (req, res) => {
router.post('/orders/query', open91RateLimit, async (req, res) => {
const requestId = createRequestId('91')
const startedAt = Date.now()