配餐软件
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

260 lines
58 KiB

2 years ago
# 菜品部分
# 1. 查询菜品(根据名字模糊查询)
> GET /api/dish
### 输入:
```text
pageSize=20 // 默认20, 全部非必填
pageNo=0 // 默认0, 从0开始
keyword=番茄鸡蛋汤 // 查询关键字
mark=汤类 // 标签 取值参照GET /api/basic/enum 接口中的 mark
```
### 输出:
```json
{
"body": {
"content": [
{
"icon": "data:image/png;base64,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
"id": 2,
"ingredient": [
{
"isMain": true,
"key": "011101",
"value": 500
}
],
"marks": "主食",
"modify": 1695277128000,
"month": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
1,
12
],
"name": "番茄炒鸡蛋",
"vender": 4
}
],
"number": 0,
"size": 20,
"totalElements": 2,
"totalPages": 1
},
"code": 200,
"desc": "成功",
"success": true
}
```
# 2. 查询菜品(根据ID精确查询)
> GET /api/dish
### 输入:
```text
id=1
```
### 输出:
```json
{
"icon": "data:image/png;base64,iVBORkJggg==",
"id": 1,
"ingredient": [
{
"isMain": true,
"key": "011101",
"value": 500
}
],
"marks": "汤类",
"month": [
1,
3,
5,
7,
9,
12
],
"name": "番茄鸡蛋汤",
"vender": 1
}
```
# 3. 根据名称模糊查询(用于食谱部分选择菜品)
> GET /api/dish/select
### 输入:
```text
keyword=婆
```
### 输出:
~~~json
{
"body": [
{
"id": 25,
"ingredient": [
{
"key": "3355",
"value": 22
},
{
"key": "3378",
"value": 111
}
],
"marks": "面食",
"name": "麻婆豆腐"
},
{
"id": 24,
"ingredient": [
{
"isMain": false,
"key": "3355",
"value": 22
},
{
"isMain": true,
"key": "3378",
"value": 111
}
],
"marks": "面食",
"name": "麻婆豆腐"
}
],
"code": 200,
"desc": "成功",
"success": true
}
~~~
# 4. 营养标签
> GET /api/dish/label
### 输入:
```text
ids=1,2,3 // 传了ID返回指定标签,不传返回所有菜品的标签列表
```
### 输出:
```json
{
"body": [
{
"component": [
{
"name": "钙",
"nutrition": "60.00(mg)",
"nvr": "0.00%"
},
{
"name": "vitamin-a",
"nutrition": "115.00(-)",
"nvr": "-"
},
{
"name": "蛋白质",
"nutrition": "75.00(g)",
"nvr": "1.00%"
},
{
"name": "脂肪",
"nutrition": "50.00(g)",
"nvr": "1.00%"
},
{
"name": "能量kcal",
"nutrition": "50.00(kcal)",
"nvr": "0.00%"
}
],
"ingredients": [
"小麦"
],
"name": "番茄炒鸡蛋"
}
],
"code": 200,
"desc": "成功",
"success": true
}
```
# 5. 添加菜品
> PUT /api/dish
### 输入:
```text
Content-Type:application/x-www-form-urlencoded
name=番茄炒鸡蛋 // 必填 名称
vendors=1,2,3 // 单位列表, 管理端必填,业务端没用
icon= // 图片
month=1,2,3 //月份
mark=汤类 // 必填 标签 取值参照GET /api/basic/enum 接口中的 mark
ingredient=[{"key": "011101", "value": 500, "isMain": true}] // 食材列表
```
### 输出:
```json
{
"code": 200,
"desc": "成功",
"success": true
}
```
# 6. 修改
> POST /api/dish
### 输入:
```text
Content-Type:application/x-www-form-urlencoded
id=1 // 必填
name=番茄炒鸡蛋 // 必填 名称
vendors=1,2,3 // 单位列表
icon= // 图片
month=1,2,3 // 月份
mark=汤类 // 标签 取值参照GET /api/basic/enum 接口中的 mark
ingredient=[{"key": "011101", "value": 500, "isMain": true}] // 食材列表
```
### 输出:
```json
{
"code": 200,
"desc": "成功",
"success": true
}
```
# 7. 删除
> DELETE /api/dish
### 输入:
Content-Type:application/x-www-form-urlencoded
ids=9,10 // 必填
输出:
```text
{
"code": 200,
"desc": "成功",
"success": true
}
```