feat(fulfillment): 统一中文内部 SKU 履约路由

This commit is contained in:
yml2213
2026-11-03 11:49:38 +08:00
parent f447b5d73a
commit 3ba808b814
49 changed files with 1643 additions and 1963 deletions
@@ -2,10 +2,10 @@ import { apiDelete, apiGet, apiPost } from '@/lib/http'
/** 待分类队列(按内部 SKU 聚合)。 */
export type PendingChannelGroup = {
provider: string
shop_id: string
internal_sku: string
sku_name: string
providers: string[]
shop_ids: string[]
sku_codes: string[]
pending_reasons: string[]
item_count: number
@@ -29,6 +29,10 @@ export type ChannelRule = {
channel: 'work_order' | 'affiliate_dash' | 'third_party_voucher' | 'manual'
priority: number
enabled: boolean
is_fallback: boolean
source: string
config_json: Record<string, unknown>
note: string
}
export type ChannelRuleListResult = {
@@ -98,9 +102,7 @@ export function fetchChannelExceptions(
return apiGet<ChannelExceptionListResult>('/api/v1/admin/fulfillment/exceptions', params)
}
export function assignChannelBySku(payload: {
provider: string
shopId: string
export function assignChannelByInternalSku(payload: {
internalSku: string
channel: string
note?: string
@@ -1,23 +0,0 @@
import { apiGet, apiPost } from '@/lib/http'
import type {
AdminFulfillmentRoutingConfig,
AdminFulfillmentRoutingPreviewResult,
} from '@/types/admin'
export function fetchAdminFulfillmentRoutingConfig() {
return apiGet<AdminFulfillmentRoutingConfig>('/api/v1/admin/platform-config/fulfillment-routing')
}
export function saveAdminFulfillmentRoutingConfig(payload: Partial<AdminFulfillmentRoutingConfig>) {
return apiPost<AdminFulfillmentRoutingConfig>(
'/api/v1/admin/platform-config/fulfillment-routing',
payload,
)
}
export function previewAdminFulfillmentRouting(productName: string) {
return apiPost<AdminFulfillmentRoutingPreviewResult>(
'/api/v1/admin/platform-config/fulfillment-routing/preview',
{ productName },
)
}
@@ -2,6 +2,5 @@ export * from './notifications'
export * from './scheduled-jobs'
export * from './kuaishou-industry'
export * from './affiliate-dash'
export * from './fulfillment-routing'
export * from './pdd'
export * from './douyin-mashida'