forked from erp-dev/erp
fix: added merchant_id in models of shipment module
This commit is contained in:
@@ -156,6 +156,39 @@ python manage.py backfill_merchant <merchant_id>
|
||||
|
||||
---
|
||||
|
||||
### 9. Shipment 创建 API:普通版 & External 版
|
||||
|
||||
新增并完善了两个创建出货单接口:
|
||||
|
||||
#### 普通版(绑定销售品)
|
||||
- **接口**:`POST /api/v1/shipment/shipments/`
|
||||
- **参数**:`sales_items: [销售品ID...]`
|
||||
- **行为**:创建出货单并把销售品关联到该出货单
|
||||
|
||||
#### External 版(不绑定销售品 + 外部成品表批量写入)
|
||||
- **接口**:`POST /api/v1/shipment/shipments/external/`
|
||||
- **参数**:
|
||||
- `external_id` 必填
|
||||
- `external_finished_products`(数组)必填,用于写入 `ExternalFinishedProduct` 并关联到 Shipment
|
||||
- **行为**:创建出货单 + 批量创建外部成品表记录(不关联任何销售品)
|
||||
|
||||
#### 代码位置
|
||||
- `shipment/services.py`: 新增 `create_external_shipment()`
|
||||
- `api_v1/views/shipment/views.py`: 新增 `ShipmentExternalCreateView`
|
||||
- `api_v1/views/shipment/serializers.py`: 新增 external 创建序列化器与响应字段扩展
|
||||
- `api_v1/urls.py`: 注册 external 创建路由
|
||||
- `api_v1/views/shipment/test_api.py`: 新增 external create 测试
|
||||
|
||||
#### merchant 强制归属(非空)
|
||||
- 为 `Shipment` 与 `SalesItem` 增加 `merchant` 外键且不允许为空
|
||||
- 创建时从 `request.user.employee.merchant` 自动绑定,并校验 customer 同商户
|
||||
- 普通版在关联销售品时校验销售品同商户,避免跨商户关联
|
||||
|
||||
#### 文档
|
||||
- `docs/shipment_api.md`: 补充 external create API 文档
|
||||
|
||||
---
|
||||
|
||||
## 待办
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user