匹配日志支持结果状态关键词与日期筛选及服务端分页
This commit is contained in:
@@ -15,7 +15,12 @@ import type { JsonObject } from '../../types/json.js'
|
||||
import type { OrderItemRow, OrderRow } from '../../types/repository/rows.js'
|
||||
import { createHttpError } from '../../utils/http.js'
|
||||
import { nowIso } from '../../utils/time.js'
|
||||
import { normalizePage, normalizePageSize, safeParseJson } from '../admin/admin-query-utils.js'
|
||||
import {
|
||||
normalizeDateString,
|
||||
normalizePage,
|
||||
normalizePageSize,
|
||||
safeParseJson,
|
||||
} from '../admin/admin-query-utils.js'
|
||||
import {
|
||||
mapWorkProductRule,
|
||||
normalizeBoolean,
|
||||
@@ -262,8 +267,17 @@ export async function testAdminKuaishouProductMatch(payload: JsonObject = {}) {
|
||||
}
|
||||
|
||||
export async function listAdminWorkProductMatchLogs(payload: JsonObject = {}) {
|
||||
const limit = Math.min(500, normalizePositiveInteger(payload.limit, 100))
|
||||
return { items: (await listWorkProductMatchLogs(limit)).map(mapWorkProductMatchLog) }
|
||||
const page = normalizePage(payload.page)
|
||||
const pageSize = Math.min(200, normalizePageSize(payload.pageSize))
|
||||
const { items, total } = await listWorkProductMatchLogs({
|
||||
page,
|
||||
pageSize,
|
||||
matchStatus: String(payload.matchStatus || payload.status || '').trim(),
|
||||
keyword: String(payload.keyword || '').trim(),
|
||||
createdFrom: normalizeDateString(payload.createdFrom),
|
||||
createdTo: normalizeDateString(payload.createdTo),
|
||||
})
|
||||
return { items: items.map(mapWorkProductMatchLog), pagination: { page, pageSize, total } }
|
||||
}
|
||||
|
||||
function mapWorkProductRuleMapping(mapping: WorkProductRuleMappingRow) {
|
||||
|
||||
Reference in New Issue
Block a user