完善接单平台上传与物品规则

This commit is contained in:
yml2213
2026-07-25 15:56:18 +08:00
parent f6d3f00f21
commit a2587eda01
40 changed files with 4978 additions and 1008 deletions
@@ -1,6 +1,8 @@
import { apiGet, apiPost } from '@/lib/http'
import type {
WorkCategory,
WorkOrder,
WorkProductRule,
WorkerLevel,
WorkerListResponse,
WorkerUser,
@@ -16,7 +18,27 @@ export function fetchAdminWorkerPlatformSummary() {
}
export function fetchAdminWorkerLevels() {
return apiGet<{ items: WorkerLevel[] }>('/api/v1/admin/worker-platform/levels')
return apiGet<{ items: WorkerLevel[] }>(
'/api/v1/admin/worker-platform/levels',
)
}
export function fetchAdminWorkCategories() {
return apiGet<{ items: WorkCategory[] }>(
'/api/v1/admin/worker-platform/categories',
)
}
export function saveAdminWorkCategory(payload: {
categoryKey: string
name: string
sortOrder?: number
status?: string
}) {
return apiPost<{ category: WorkCategory }>(
'/api/v1/admin/worker-platform/categories',
payload,
)
}
export function saveAdminWorkerLevel(payload: {
@@ -25,18 +47,57 @@ export function saveAdminWorkerLevel(payload: {
depositFreeAmount?: number
maxActiveOrders?: number
}) {
return apiPost<{ level: WorkerLevel }>('/api/v1/admin/worker-platform/levels', payload)
return apiPost<{ level: WorkerLevel }>(
'/api/v1/admin/worker-platform/levels',
payload,
)
}
export function fetchAdminWorkerUsers(params?: Record<string, unknown>) {
return apiGet<WorkerListResponse<WorkerUser>>('/api/v1/admin/worker-platform/workers', params)
return apiGet<WorkerListResponse<WorkerUser>>(
'/api/v1/admin/worker-platform/workers',
params,
)
}
export function fetchAdminWorkProductRules(params?: Record<string, unknown>) {
return apiGet<{ items: WorkProductRule[] }>(
'/api/v1/admin/worker-platform/product-rules',
params,
)
}
export function saveAdminWorkProductRule(payload: {
ruleKey: string
provider?: string
platform?: string
shopId?: string
skuCode?: string
productName?: string
matchType?: string
categoryId?: number
enabled?: boolean
autoCreate?: boolean
rewardAmount?: number
requiredDepositAmount?: number
depositThresholdAmount?: number
fieldsText?: string
sortOrder?: number
}) {
return apiPost<{ rule: WorkProductRule }>(
'/api/v1/admin/worker-platform/product-rules',
payload,
)
}
export function reviewAdminWorkerUser(
workerId: number,
payload: { status: string; reviewNote?: string; levelId?: number },
) {
return apiPost<{ worker: WorkerUser }>(`/api/v1/admin/worker-platform/workers/${workerId}/review`, payload)
return apiPost<{ worker: WorkerUser }>(
`/api/v1/admin/worker-platform/workers/${workerId}/review`,
payload,
)
}
export function creditAdminWorkerWallet(
@@ -50,7 +111,10 @@ export function creditAdminWorkerWallet(
}
export function fetchAdminWorkOrders(params?: Record<string, unknown>) {
return apiGet<WorkerListResponse<WorkOrder>>('/api/v1/admin/worker-platform/orders', params)
return apiGet<WorkerListResponse<WorkOrder>>(
'/api/v1/admin/worker-platform/orders',
params,
)
}
export function createAdminMockWorkOrder(payload: {
@@ -59,17 +123,49 @@ export function createAdminMockWorkOrder(payload: {
rewardAmount?: number
materialComplete?: boolean
}) {
return apiPost<{ order: WorkOrder }>('/api/v1/admin/worker-platform/orders/mock', payload)
return apiPost<{ order: WorkOrder }>(
'/api/v1/admin/worker-platform/orders/mock',
payload,
)
}
export function syncAdminWorkerOrdersFromSource(payload: {
platformOrderId?: string
orderId?: number
}) {
return apiPost<{
created: WorkOrder[]
skipped: Array<{ orderItemId: number; reason: string }>
createdCount: number
skippedCount: number
}>('/api/v1/admin/worker-platform/source-orders/sync', payload)
}
export function submitAdminWorkOrderMaterial(
workOrderId: number,
fields: Record<string, string>,
) {
return apiPost<{ order: WorkOrder; complete: boolean }>(
`/api/v1/admin/worker-platform/orders/${workOrderId}/material`,
{ fields },
)
}
export function publishAdminWorkOrder(workOrderId: number) {
return apiPost<{ order: WorkOrder }>(`/api/v1/admin/worker-platform/orders/${workOrderId}/publish`)
return apiPost<{ order: WorkOrder }>(
`/api/v1/admin/worker-platform/orders/${workOrderId}/publish`,
)
}
export function markAdminWorkOrderProblem(workOrderId: number, note: string) {
return apiPost<{ order: WorkOrder }>(`/api/v1/admin/worker-platform/orders/${workOrderId}/problem`, { note })
return apiPost<{ order: WorkOrder }>(
`/api/v1/admin/worker-platform/orders/${workOrderId}/problem`,
{ note },
)
}
export function acceptAdminWorkOrder(workOrderId: number) {
return apiPost<{ order: WorkOrder }>(`/api/v1/admin/worker-platform/orders/${workOrderId}/accept`)
return apiPost<{ order: WorkOrder }>(
`/api/v1/admin/worker-platform/orders/${workOrderId}/accept`,
)
}