This commit is contained in:
2026-08-21 11:20:09 +08:00
parent 595c998214
commit 6e9bb6e00c
45 changed files with 1051 additions and 329 deletions
@@ -3,13 +3,40 @@ import { unwrapApiResponse, type ApiEnvelope } from '@/shared/api/http'
import type { OverseasPageResult } from './lastMileOrders'
export interface RelabelOrderQuery {
customerId: string
page: number
size: number
skuCode?: string
status?: string
}
export interface CreateRelabelItemPayload {
skuCode: string
productNameZh: string
totalPackageCount: number
notifiedPackageCount: number
shipmentNo: string
newSkuCode: string
labelRequirement?: string
productImageFileId?: string
productImageFileName?: string
productImageUrl?: string
trackingCode?: string
relabelFileId?: string
relabelFileName?: string
relabelFileUrl?: string
}
export interface CreateRelabelPayload {
customerOrderNo: string
overseasWarehouseId: string
labelDeadline: string
contactName: string
contactPhone: string
remark?: string
idempotencyKey: string
items: CreateRelabelItemPayload[]
}
export interface RelabelSummaryDto {
id: string
relabelNo: string
@@ -56,16 +83,30 @@ export interface RelabelDetailDto {
}
export async function listRelabelOrders(query: RelabelOrderQuery) {
const { customerId, ...params } = query
const response = await overseasHttp.get<ApiEnvelope<OverseasPageResult<RelabelSummaryDto>>, ApiEnvelope<OverseasPageResult<RelabelSummaryDto>>>(
'/platform/v1/last-leg/relabel-applications', { params: { customerId, ...params } },
'/platform/v1/last-leg/relabel-applications', { params: query },
)
return unwrapApiResponse(response)
}
export async function getRelabelOrder(relabelNo: string, customerId: string) {
export async function getRelabelOrder(relabelNo: string) {
const response = await overseasHttp.get<ApiEnvelope<RelabelDetailDto>, ApiEnvelope<RelabelDetailDto>>(
`/platform/v1/last-leg/relabel-applications/${encodeURIComponent(relabelNo)}`, { params: { customerId } },
`/platform/v1/last-leg/relabel-applications/${encodeURIComponent(relabelNo)}`,
)
return unwrapApiResponse(response)
}
export async function createRelabelOrder(payload: CreateRelabelPayload) {
const response = await overseasHttp.post<ApiEnvelope<RelabelDetailDto>, ApiEnvelope<RelabelDetailDto>>(
'/platform/v1/last-leg/relabel-applications', payload,
)
return unwrapApiResponse(response)
}
export async function changeRelabelOrderStatus(relabelNo: string, status: string, remark?: string) {
const response = await overseasHttp.put<ApiEnvelope<RelabelDetailDto>, ApiEnvelope<RelabelDetailDto>>(
`/platform/v1/last-leg/relabel-applications/${encodeURIComponent(relabelNo)}/status`,
{ status, remark },
)
return unwrapApiResponse(response)
}