forked from erp-dev/erp
feat: added print_count api, added merchant setting model, added manual mode setting for purchase order
This commit is contained in:
54
docs/print_count_delta.md
Normal file
54
docs/print_count_delta.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 打印次数增量 API
|
||||
|
||||
该接口用于为支持 `print_count` 字段的业务对象递增打印次数。目前支持:
|
||||
|
||||
- `printing_order` → `printing.models.PrintingOrder`
|
||||
- `plate_order` → `printing.models.PlateOrder`
|
||||
|
||||
未来可以在后端枚举中扩展更多对象类型(例如采购单等)。
|
||||
|
||||
## Endpoint
|
||||
|
||||
- **Method**: `POST`
|
||||
- **Path**: `/api/v1/print-count/delta/`
|
||||
- **Auth**: 需要登录(仅校验是否认证)
|
||||
- **Content-Type**: `application/json`
|
||||
|
||||
## 请求参数
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `object_type` | string | 是 | 对象类型,`printing_order` 或 `plate_order` |
|
||||
| `object_id` | integer | 是 | 目标对象的 ID |
|
||||
| `delta` | integer/string | 否 | 增量值,默认 1;若传入小于 1 或无法转换为整数,则自动回退为 1 |
|
||||
|
||||
## 响应
|
||||
|
||||
```json
|
||||
{
|
||||
"object_type": "printing_order",
|
||||
"object_id": 12,
|
||||
"delta": 3,
|
||||
"print_count": 5
|
||||
}
|
||||
```
|
||||
|
||||
字段说明:
|
||||
|
||||
- `delta`: 实际生效的增量(若请求非法会改为 1)
|
||||
- `print_count`: 更新后的打印次数
|
||||
|
||||
## 错误响应
|
||||
|
||||
| HTTP 状态码 | 场景 | 响应 |
|
||||
|-------------|------|------|
|
||||
| 400 | `object_type` 不受支持 | `{"detail": "不支持的对象类型"}` |
|
||||
| 404 | `object_id` 与 `object_type` 匹配的对象不存在 | `{"detail": "指定对象不存在"}` |
|
||||
| 401 | 未认证访问 | DRF 默认未认证响应 |
|
||||
|
||||
## 扩展说明
|
||||
|
||||
- `delta` 仅做加法,不提供回退逻辑。
|
||||
- 所有增量操作在数据库事务中执行,可避免并发更新冲突。
|
||||
- 新的对象类型只需在后端的 `PrintCountObjectType` 枚举和映射表中补充即可。
|
||||
|
||||
Reference in New Issue
Block a user