Files
ylt_diy/docs/API文档.md

395 lines
9.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 订单日报系统 API 接口文档
## 一、全局配置接口
### 1.1 获取求和数据采集字段配置
**接口地址**: `GET /api/global-config/sum-data-fields`
**请求参数**: 无
**返回示例**:
```json
{
"success": true,
"data": ["sharp_electricity", "peak_electricity", "flat_electricity", "valley_electricity"]
}
```
**字段说明**:
| 字段Key | 显示名称 | 说明 |
|---------|----------|------|
| sharp_electricity | 尖时电量(kWh) | 尖时段充电电量 |
| peak_electricity | 峰时电量(kWh) | 峰时段充电电量 |
| flat_electricity | 平时电量(kWh) | 平时段充电电量 |
| valley_electricity | 谷时电量(kWh) | 谷时段充电电量 |
| charge_elecfee_amount | 实收电费(元) | 实际收取的电费金额 |
| charge_servicefee_amount | 实收服务费(元) | 实际收取的服务费金额 |
| charge_amount | 实收总金额(元) | 实际收取的总金额(电费+服务费) |
| charge_frequency | 充电次数 | 充电订单次数 |
| custom_service_fee | 自定义服务费(元) | 按自定义单价计算的服务费 |
| custom_total_amount | 自定义实收总金额(元) | 实收电费+自定义服务费 |
### 1.2 保存求和数据采集字段配置
**接口地址**: `POST /api/global-config/sum-data-fields`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| sum_data_fields | Array | 是 | 选中的采集字段Key列表 |
**请求示例**:
```json
{
"sum_data_fields": ["sharp_electricity", "peak_electricity", "flat_electricity", "valley_electricity"]
}
```
**返回示例**:
```json
{
"success": true,
"message": "配置保存成功"
}
```
## 二、求和数据接口
### 2.1 查询求和数据列表
**接口地址**: `GET /api/sum-data`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| page | Integer | 否 | 页码(不传则返回全部数据) |
| page_size | Integer | 否 | 每页大小默认20 |
| start_date | String | 否 | 开始日期格式YYYY-MM-DD |
| end_date | String | 否 | 结束日期格式YYYY-MM-DD |
| config_id | Integer | 否 | 配置ID |
| config_name | String | 否 | 配置名称(模糊搜索) |
| sum_field_key | String | 否 | 求和字段键名 |
| data_source | String | 否 | 数据来源auto/手动编辑) |
**返回示例**:
```json
{
"success": true,
"data": {
"list": [...],
"total": 100,
"page": 1,
"page_size": 20
}
}
```
### 2.2 从历史记录采集求和数据
**接口地址**: `POST /api/sum-data/collect`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| history_id | Integer | 否 | 历史记录ID不传则采集所有 |
| start_date | String | 否 | 开始日期 |
| end_date | String | 否 | 结束日期 |
**返回示例**:
```json
{
"success": true,
"message": "采集完成,共采集 50 条求和数据,跳过 0 条无求和数据的记录"
}
```
### 2.3 批量添加求和数据
**接口地址**: `POST /api/sum-data/batch-add`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| report_date | String | 是 | 报表日期YYYY-MM-DD |
| config_name | String | 是 | 配置名称 |
| split_type | String | 是 | 拆分方式company_id/user_id/station_id |
| split_value | String | 是 | 拆分值 |
| split_name | String | 否 | 拆分显示名称 |
| total_orders | Integer | 否 | 订单数 |
| remark | String | 否 | 备注/修改原因 |
| fields | Array | 是 | 求和字段数据列表 |
**fields数组结构**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| sum_field_key | String | 是 | 字段键名 |
| sum_field_name | String | 是 | 字段显示名称 |
| sum_value | Float | 是 | 求和值 |
### 2.4 更新求和数据
**接口地址**: `PUT /api/sum-data/<id>`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| sum_value | Float | 是 | 更新后的求和值 |
| remark | String | 否 | 修改原因/备注 |
### 2.5 删除求和数据
**接口地址**: `DELETE /api/sum-data/<id>`
**请求参数**: 无
### 2.6 批量删除求和数据
**接口地址**: `POST /api/sum-data/batch-delete`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| ids | Array | 是 | 要删除的记录ID列表 |
### 2.7 导出求和数据
**接口地址**: `GET /api/sum-data/export`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| start_date | String | 否 | 开始日期 |
| end_date | String | 否 | 结束日期 |
| keyword | String | 否 | 配置名称关键字 |
| data_source | String | 否 | 数据来源 |
**返回示例**:
```json
{
"success": true,
"total": 100,
"file_path": "/public/reports/求和数据导出_20260728.xlsx",
"filename": "求和数据导出_20260728.xlsx"
}
```
## 三、配置管理接口
### 3.1 创建配置
**接口地址**: `POST /api/config`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| config_name | String | 是 | 配置名称 |
| split_type | String | 是 | 拆分方式 |
| split_value | String | 是 | 拆分值(逗号分隔) |
| split_name | String | 否 | 拆分显示名称 |
| selected_fields | Array | 是 | 选择的字段列表 |
| sum_fields | Array | 否 | 求和字段列表 |
| time_periods | Object | 否 | 分时段电量配置 |
| merge_telecom | Boolean | 否 | 是否合并特来电数据 |
| telecom_vehicle_no | String | 否 | 特来电车量自编号 |
| field_custom_names | Object | 否 | 字段自定义表头名称 |
| show_monthly_total | Boolean | 否 | 是否显示月度总计 |
| custom_service_fee_price | Float | 否 | 自定义服务费单价(元/kWh) |
| custom_service_fee_name | String | 否 | 自定义服务费表头名称 |
| show_custom_service_fee | Boolean | 否 | 是否显示自定义服务费列 |
| show_total_amount | Boolean | 否 | 是否显示实收总金额列 |
| total_amount_name | String | 否 | 实收总金额表头名称 |
### 3.2 查询配置列表
**接口地址**: `GET /api/config`
**请求参数**: 无
### 3.3 查询单个配置
**接口地址**: `GET /api/config/<id>`
**请求参数**: 无
### 3.4 更新配置
**接口地址**: `PUT /api/config/<id>`
**请求参数**: 同创建配置
### 3.5 删除配置
**接口地址**: `DELETE /api/config/<id>`
**请求参数**: 无
### 3.6 复制配置
**接口地址**: `POST /api/config/<id>/copy`
**请求参数**: 无
### 3.7 启用/禁用配置
**接口地址**: `POST /api/config/<id>/toggle`
**请求参数**: 无
### 3.8 配置排序
**接口地址**: `POST /api/config/<id>/move`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| direction | String | 是 | 移动方向up/down |
## 四、认证接口
### 4.1 登录
**接口地址**: `POST /api/auth/login`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| username | String | 是 | 用户名 |
| password | String | 是 | 密码 |
### 4.2 获取用户信息
**接口地址**: `GET /api/auth/info`
**请求参数**: 无
### 4.3 修改密码
**接口地址**: `POST /api/auth/change-password`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| old_password | String | 是 | 旧密码 |
| new_password | String | 是 | 新密码 |
| confirm_password | String | 是 | 确认新密码 |
## 五、实体管理接口
### 5.1 查询企业列表
**接口地址**: `GET /api/entities/company`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| page | Integer | 否 | 页码 |
| page_size | Integer | 否 | 每页大小 |
| keyword | String | 否 | 搜索关键字 |
### 5.2 查询用户列表
**接口地址**: `GET /api/entities/user`
**请求参数**: 同企业列表
### 5.3 查询场站列表
**接口地址**: `GET /api/entities/station`
**请求参数**: 同企业列表
### 5.4 按ID批量查询实体
**接口地址**: `POST /api/entities/by_ids`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| type | String | 是 | 实体类型company/user/station |
| ids | Array | 是 | 实体ID列表 |
## 六、字段列表接口
### 6.1 获取字段列表
**接口地址**: `GET /api/fields`
**请求参数**: 无
## 七、日报生成接口
### 7.1 生成日报
**接口地址**: `POST /api/report/generate`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| config_id | Integer | 是 | 配置ID |
| report_date | String | 否 | 报表日期(默认昨天) |
### 7.2 查询历史记录
**接口地址**: `GET /api/report/history`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| page | Integer | 否 | 页码 |
| page_size | Integer | 否 | 每页大小 |
| start_date | String | 否 | 开始日期 |
| end_date | String | 否 | 结束日期 |
| config_name | String | 否 | 配置名称 |
| status | Integer | 否 | 状态0失败/1成功 |
### 7.3 删除历史记录
**接口地址**: `DELETE /api/report/history/<id>`
**请求参数**: 无
### 7.4 批量删除历史记录
**接口地址**: `POST /api/report/history/batch-delete`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| ids | Array | 是 | 记录ID列表 |
## 八、文件下载接口
### 8.1 下载报表文件
**接口地址**: `GET /api/download/report/<file_name>`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| file_name | String | 是 | 文件名 |