This commit is contained in:
2026-08-31 10:31:53 +08:00
parent b4d5fb1170
commit 1548d444c6
7 changed files with 144 additions and 99 deletions
+28 -15
View File
@@ -6,7 +6,6 @@ export interface CoLoadGroupMember {
tenantId: string
orderId: string
inboundId: string
inboundCode: string
fullPackageCount: number
}
@@ -24,21 +23,31 @@ export interface CoLoadGroup {
updatedAt: string
}
export interface OrderCoLoadGroupInfo {
orderId: string
group: CoLoadGroup
export interface CoLoadBusinessMember {
inboundCode: string
}
export interface CoLoadBusinessSummary {
status: CoLoadGroupStatus
memberCount: number
members: CoLoadBusinessMember[]
}
type RawId = string | number
type RawCoLoadGroupMember = Omit<CoLoadGroupMember, 'tenantId' | 'orderId' | 'inboundId'> & {
tenantId: RawId
orderId: RawId
inboundId: RawId
}
type RawCoLoadGroup = Omit<CoLoadGroup, 'groupId' | 'warehouseId' | 'lockedPlanId' | 'members'> & {
groupId: RawId
warehouseId: RawId
lockedPlanId: RawId | null
members: Array<Omit<CoLoadGroupMember, 'tenantId' | 'orderId' | 'inboundId'> & { tenantId: RawId; orderId: RawId; inboundId: RawId }>
members: RawCoLoadGroupMember[]
}
type RawOrderCoLoadGroupInfo = Omit<OrderCoLoadGroupInfo, 'orderId' | 'group'> & {
orderId: RawId
group: RawCoLoadGroup
type RawCoLoadBusinessSummary = Omit<CoLoadBusinessSummary, 'memberCount' | 'members'> & {
memberCount: number | string
members: Array<{ inboundCode?: string | null }>
}
const basePath = '/platform/v1/first-leg/coload-groups'
@@ -81,13 +90,17 @@ export async function cancelPlatformCoLoadGroup(groupId: string, expectedVersion
return normalizeGroup(unwrapApiResponse(response))
}
export async function batchQueryPlatformCoLoadGroups(orderIds: string[]) {
const response = await http.post<ApiEnvelope<RawOrderCoLoadGroupInfo[]>, ApiEnvelope<RawOrderCoLoadGroupInfo[]>>(
`${basePath}/batch-query`,
{ orderIds },
export async function getPlatformCoLoadGroupByInboundCode(inboundCode: string) {
const response = await http.get<ApiEnvelope<RawCoLoadBusinessSummary>, ApiEnvelope<RawCoLoadBusinessSummary>>(
`${basePath}/by-inbound-code/${encodeURIComponent(inboundCode)}`,
)
return unwrapApiResponse(response).map((item) => ({
orderId: String(item.orderId),
group: normalizeGroup(item.group),
const raw = unwrapApiResponse(response)
const members = (raw.members || []).map((member) => ({
inboundCode: typeof member.inboundCode === 'string' ? member.inboundCode.trim() : '',
}))
return {
status: raw.status,
memberCount: Number(raw.memberCount),
members,
} satisfies CoLoadBusinessSummary
}