维护耗材模块接口文档
创建耗材项接口
消息协议
Method
请求参数示例:
{
"jsonrpc": "2.0",
"method": "/material/create",
"params": {
"title": "LED灯泡",
"type": "照明设备",
"unit": "个",
"quantity": 2,
"price": 50.00
},
"session": "viFuv4G2XJMxO4GIIsVfbJ2eKwy6QyuWLXmqZY69dy0G9iTY",
"timestampin": "1706325301436"
}
参数说明:
| 参数名 |
类型 |
说明 |
必填 |
备注 |
| title |
string |
耗材名称 |
是 |
最大长度50字符 |
| type |
string |
耗材类型 |
是 |
照明设备/网络设备/其他 |
| unit |
string |
单位 |
是 |
个/件/米/套等 |
| quantity |
int |
数量 |
是 |
必须大于0 |
| price |
float64 |
单价 |
是 |
必须大于等于0 |
成功响应示例:
{
"jsonrpc": "2.0",
"result": {
"id": 1,
"title": "LED灯泡",
"type": "照明设备",
"unit": "个",
"quantity": 2,
"price": 50.00,
"total_price": 100.00,
"created_at": "2024-03-20T10:00:00Z"
},
"error": {
"message": "ok",
"code": 200
}
}
错误响应示例:
{
"jsonrpc": "2.0",
"result": null,
"error": {
"message": "数量必须大于0",
"code": 400,
"data": {
"field": "quantity"
}
}
}
获取耗材项详情接口
Method
请求参数示例:
{
"jsonrpc": "2.0",
"method": "/material/detail",
"params": {
"id": 1
},
"session": "viFuv4G2XJMxO4GIIsVfbJ2eKwy6QyuWLXmqZY69dy0G9iTY",
"timestampin": "1706325301436"
}
参数说明:
| 参数名 |
类型 |
说明 |
必填 |
备注 |
| id |
uint |
耗材项ID |
是 |
|
成功响应示例:
{
"jsonrpc": "2.0",
"result": {
"id": 1,
"title": "LED灯泡",
"type": "照明设备",
"unit": "个",
"quantity": 2,
"price": 50.00,
"total_price": 100.00,
"created_at": "2024-03-20T10:00:00Z"
},
"error": {
"message": "ok",
"code": 200
}
}
错误响应示例:
{
"jsonrpc": "2.0",
"result": null,
"error": {
"message": "耗材项不存在",
"code": 400,
"data": {
"field": "id"
}
}
}
更新耗材项接口
Method
请求参数示例:
{
"jsonrpc": "2.0",
"method": "/material/update",
"params": {
"id": 1,
"quantity": 3,
"price": 55.00
},
"session": "viFuv4G2XJMxO4GIIsVfbJ2eKwy6QyuWLXmqZY69dy0G9iTY",
"timestampin": "1706325301436"
}
参数说明:
| 参数名 |
类型 |
说明 |
必填 |
备注 |
| id |
uint |
耗材项ID |
是 |
|
| title |
string |
耗材名称 |
否 |
最大长度50字符 |
| type |
string |
耗材类型 |
否 |
照明设备/网络设备/其他 |
| unit |
string |
单位 |
否 |
个/件/米/套等 |
| quantity |
int |
数量 |
否 |
必须大于0 |
| price |
float64 |
单价 |
否 |
必须大于等于0 |
成功响应示例:
{
"jsonrpc": "2.0",
"result": {
"id": 1,
"title": "LED灯泡",
"type": "照明设备",
"unit": "个",
"quantity": 3,
"price": 55.00,
"total_price": 165.00,
"created_at": "2024-03-20T10:00:00Z"
},
"error": {
"message": "ok",
"code": 200
}
}
错误响应示例:
{
"jsonrpc": "2.0",
"result": null,
"error": {
"message": "耗材项不存在",
"code": 400,
"data": {
"field": "id"
}
}
}
删除耗材项接口
Method
请求参数示例:
{
"jsonrpc": "2.0",
"method": "/material/delete",
"params": {
"id": 1
},
"session": "viFuv4G2XJMxO4GIIsVfbJ2eKwy6QyuWLXmqZY69dy0G9iTY",
"timestampin": "1706325301436"
}
参数说明:
| 参数名 |
类型 |
说明 |
必填 |
备注 |
| id |
uint |
耗材项ID |
是 |
|
成功响应示例:
{
"jsonrpc": "2.0",
"result": null,
"error": {
"message": "ok",
"code": 200
}
}
错误响应示例:
{
"jsonrpc": "2.0",
"result": null,
"error": {
"message": "耗材项不存在",
"code": 400,
"data": {
"field": "id"
}
}
}
获取耗材列表接口
Method
请求参数示例:
{
"jsonrpc": "2.0",
"method": "/material/list",
"params": {
"page": 1,
"page_size": 20,
"type": "照明设备"
},
"session": "viFuv4G2XJMxO4GIIsVfbJ2eKwy6QyuWLXmqZY69dy0G9iTY",
"timestampin": "1706325301436"
}
参数说明:
| 参数名 |
类型 |
说明 |
必填 |
备注 |
| page |
integer |
当前页码 |
否 |
默认1 |
| page_size |
integer |
每页记录数 |
否 |
默认20,最大100 |
| type |
string |
耗材类型 |
否 |
照明设备/网络设备/其他 |
成功响应示例:
{
"jsonrpc": "2.0",
"result": {
"count": 1,
"rows": [
{
"id": 1,
"title": "LED灯泡",
"type": "照明设备",
"unit": "个",
"quantity": 2,
"price": 50.00,
"total_price": 100.00,
"created_at": "2024-03-20T10:00:00Z"
}
]
},
"error": {
"message": "ok",
"code": 200
}
}
错误响应示例:
{
"jsonrpc": "2.0",
"result": null,
"error": {
"message": "无效的耗材类型",
"code": 400,
"data": {
"field": "type"
}
}
}
业务规则说明
- 耗材名称、类型、单位、数量、单价为必填项
- 数量必须大于0
- 单价不能为负数
- 总价自动计算(单价 × 数量)
- 耗材项创建后不可修改名称
- 耗材项删除后不可恢复
- 列表查询支持按类型过滤
- 分页查询默认每页20条记录,最大100条