修改提交
This commit is contained in:
@@ -678,27 +678,6 @@ paths:
|
||||
required: true
|
||||
content: { application/json: { schema: { $ref: '#/components/schemas/ProcurementReview' } } }
|
||||
responses: { '200': { description: 统一 ApiResponse 包装的采购订单详情 } }
|
||||
/api/platform/v1/last-leg/overseas-procurements/{orderNo}/files/{category}:
|
||||
post:
|
||||
summary: 上传采购签收文件或费用凭证
|
||||
description: 权限 platform:overseas-business:purchase:edit;category 仅允许 RECEIPT 或 VOUCHER。
|
||||
security: [{ bearerAuth: [] }]
|
||||
parameters:
|
||||
- { name: orderNo, in: path, required: true, schema: { type: string } }
|
||||
- { name: category, in: path, required: true, schema: { type: string, enum: [RECEIPT, VOUCHER] } }
|
||||
- { name: customerId, in: query, required: true, schema: { type: string, pattern: '^[1-9][0-9]*$' } }
|
||||
requestBody: { required: true, content: { multipart/form-data: { schema: { type: object, required: [file], properties: { file: { type: string, format: binary } } } } } }
|
||||
responses: { '200': { description: 已保存文件元数据 } }
|
||||
/api/platform/v1/last-leg/overseas-procurements/{orderNo}/fees:
|
||||
post:
|
||||
summary: 登记采购费用并发起资金冻结
|
||||
description: 权限 platform:overseas-business:purchase:edit;订单必须已审核通过,费用凭证必须属于本订单。
|
||||
security: [{ bearerAuth: [] }]
|
||||
parameters:
|
||||
- { name: orderNo, in: path, required: true, schema: { type: string } }
|
||||
- { name: customerId, in: query, required: true, schema: { type: string, pattern: '^[1-9][0-9]*$' } }
|
||||
requestBody: { required: true, content: { application/json: { schema: { $ref: '#/components/schemas/ProcurementFeeCreate' } } } }
|
||||
responses: { '200': { description: 已创建费用并进入冻结流程 }, '409': { description: 订单状态或凭证不允许 } }
|
||||
/api/merchant/v1/last-leg/delivery-orders:
|
||||
get:
|
||||
summary: 客户分页查询自己的派送单
|
||||
@@ -1662,20 +1641,20 @@ components:
|
||||
RelabelStatus: { type: string, enum: [PENDING_PROCESSING, PROCESSING, COMPLETED, REJECTED, CANCELLED] }
|
||||
RelabelCreate:
|
||||
type: object
|
||||
required: [customerOrderNo, overseasWarehouseId, labelDeadline, contactName, contactPhone, chargeAmount, idempotencyKey, items]
|
||||
required: [customerOrderNo, labelDeadline, contactName, contactPhone, chargeAmount, idempotencyKey, items]
|
||||
properties:
|
||||
customerOrderNo: { type: string, maxLength: 128 }
|
||||
overseasWarehouseId: { type: string, maxLength: 128 }
|
||||
overseasWarehouseId: { type: string, nullable: true, maxLength: 128, description: 统一目的海外仓;明细未填写目的仓时使用 }
|
||||
labelDeadline: { type: string, format: date-time }
|
||||
contactName: { type: string, maxLength: 128 }
|
||||
contactPhone: { type: string, maxLength: 64 }
|
||||
chargeAmount: { type: number, minimum: 0.01, description: 换标费用,币种固定 CNY }
|
||||
chargeAmount: { type: number, minimum: 0.01, description: 本次贴标费用(CNY) }
|
||||
remark: { type: string, nullable: true, maxLength: 1000 }
|
||||
idempotencyKey: { type: string, maxLength: 255 }
|
||||
items: { type: array, minItems: 1, maxItems: 500, items: { $ref: '#/components/schemas/RelabelItem' } }
|
||||
RelabelItem:
|
||||
type: object
|
||||
required: [skuCode, productNameZh, totalPackageCount, notifiedPackageCount, shipmentNo, newSkuCode]
|
||||
required: [skuCode, productNameZh, totalPackageCount, notifiedPackageCount, shipmentNo, newSkuCode, cartonMark, fbaCartonMark]
|
||||
properties:
|
||||
skuCode: { type: string, maxLength: 128 }
|
||||
productImageFileId: { type: string, nullable: true, maxLength: 128 }
|
||||
@@ -1691,6 +1670,9 @@ components:
|
||||
relabelFileId: { type: string, nullable: true, maxLength: 128 }
|
||||
relabelFileName: { type: string, nullable: true, maxLength: 255 }
|
||||
relabelFileUrl: { type: string, nullable: true, maxLength: 1000 }
|
||||
cartonMark: { type: string, maxLength: 255, description: 客户自有箱唛(不在编辑列表展示) }
|
||||
fbaCartonMark: { type: string, maxLength: 255, description: 关联 FBA 箱唛 }
|
||||
destinationWarehouseId: { type: string, nullable: true, maxLength: 128, description: 该箱目的海外仓;为空时使用申请统一目的仓 }
|
||||
RelabelStatusChange:
|
||||
type: object
|
||||
required: [status]
|
||||
@@ -1786,7 +1768,7 @@ components:
|
||||
updatedAt: { type: string, format: date-time }
|
||||
ProcurementDetail:
|
||||
type: object
|
||||
required: [summary, histories, outboundDetails, files, fees]
|
||||
required: [summary, histories, outboundDetails]
|
||||
properties:
|
||||
summary: { $ref: '#/components/schemas/ProcurementSummary' }
|
||||
productUrl: { type: string, nullable: true }
|
||||
@@ -1805,42 +1787,6 @@ components:
|
||||
reviewedAt: { type: string, format: date-time, nullable: true }
|
||||
histories: { type: array, items: { $ref: '#/components/schemas/BusinessHistory' } }
|
||||
outboundDetails: { type: array, items: { $ref: '#/components/schemas/ProcurementOutboundDetail' } }
|
||||
files: { type: array, items: { $ref: '#/components/schemas/ProcurementFile' } }
|
||||
fees: { type: array, items: { $ref: '#/components/schemas/ProcurementFee' } }
|
||||
ProcurementFeeCreate:
|
||||
type: object
|
||||
required: [feeItemCode, feeItemName, amount, voucherFileId]
|
||||
properties:
|
||||
feeItemCode: { type: string, maxLength: 64 }
|
||||
feeItemName: { type: string, maxLength: 128 }
|
||||
amount: { type: number, minimum: 0.01 }
|
||||
voucherFileId: { type: string, pattern: '^[0-9]+$' }
|
||||
remark: { type: string, nullable: true, maxLength: 500 }
|
||||
ProcurementFile:
|
||||
type: object
|
||||
properties:
|
||||
id: { type: string }
|
||||
category: { type: string, enum: [RECEIPT, VOUCHER] }
|
||||
fileId: { type: string }
|
||||
fileName: { type: string }
|
||||
contentType: { type: string, nullable: true }
|
||||
sizeBytes: { type: integer, format: int64 }
|
||||
createdAt: { type: string, format: date-time }
|
||||
ProcurementFee:
|
||||
type: object
|
||||
properties:
|
||||
id: { type: string }
|
||||
feeNo: { type: string }
|
||||
feeItemCode: { type: string }
|
||||
feeItemName: { type: string }
|
||||
amount: { type: number }
|
||||
currency: { type: string, enum: [CNY] }
|
||||
voucherFileId: { type: string }
|
||||
voucherFileName: { type: string }
|
||||
remark: { type: string, nullable: true }
|
||||
walletStatus: { type: string }
|
||||
walletErrorMessage: { type: string, nullable: true }
|
||||
createdAt: { type: string, format: date-time }
|
||||
ProcurementOutboundDetail:
|
||||
type: object
|
||||
properties:
|
||||
|
||||
Reference in New Issue
Block a user