新增 affiliate_dash 履约配置与商品映射(阶段 3)

- bootstrap CORE_PROFILES + routing ROUTABLE/DEFAULT_PRIORITY 接入 affiliate_dash
- planner 上下文 affiliateDash 块 + resolveDynamicAffiliateDashProfile
- product-resolution: 91 productNo→sku 映射匹配(skuMapping) + snapshot.affiliateDash
- prepare 前余额预检(getAffiliateDashWallet)
- AFFILIATE_DASH_SKU_MAPPING_JSON env 注入
- admin 后端接口(GET/POST 配置、match、products、wallet)+ 前端 Tabs 面板
- 联调:模拟 91 进单命中 affiliate_dash 路由, 未命中回退;前后端 typecheck + 212 测试通过
This commit is contained in:
yml2213
2026-08-05 15:08:41 +08:00
parent 867ffd2f3c
commit 3284fed7a1
16 changed files with 817 additions and 5 deletions
@@ -0,0 +1,45 @@
import { apiGet, apiPost } from '@/lib/http'
import type {
AdminAffiliateDashConfig,
AdminAffiliateDashConfigResponse,
AdminAffiliateDashMatchResult,
AdminAffiliateDashProductListResult,
AdminAffiliateDashWallet,
} from '@/types/admin'
export function fetchAdminAffiliateDashConfig() {
return apiGet<AdminAffiliateDashConfigResponse>(
'/api/v1/admin/platform-config/affiliate-dash',
)
}
export function saveAdminAffiliateDashConfig(payload: AdminAffiliateDashConfig) {
return apiPost<AdminAffiliateDashConfigResponse>(
'/api/v1/admin/platform-config/affiliate-dash',
payload,
)
}
export function matchAdminAffiliateDashSku(productNo: string) {
return apiPost<AdminAffiliateDashMatchResult>(
'/api/v1/admin/platform-config/affiliate-dash/match',
{ productNo },
)
}
export function fetchAdminAffiliateDashProducts(payload: {
page?: number
size?: number
} = {}) {
return apiPost<AdminAffiliateDashProductListResult>(
'/api/v1/admin/platform-config/affiliate-dash/products',
payload,
)
}
export function fetchAdminAffiliateDashWallet() {
return apiPost<AdminAffiliateDashWallet>(
'/api/v1/admin/platform-config/affiliate-dash/wallet',
{},
)
}
@@ -2,5 +2,6 @@ export * from './notifications'
export * from './scheduled-jobs'
export * from './kuaishou-industry'
export * from './kuaishou-feifei'
export * from './affiliate-dash'
export * from './cloudtentacles'
export * from './fulfillment-routing'