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.
10 KiB
10 KiB
项目信息管理 API 接口文档
基础信息
- 模块名称: 项目信息管理
- 基础路径:
/project/info - 权限标识前缀:
project:info
1. 查询项目信息列表
接口描述
分页查询项目信息列表,支持按项目名称、项目负责人模糊查询,以及按安装日期范围查询。
请求信息
- 接口路径:
/project/info/list - 请求方式:
GET - 权限要求:
project:info:list
请求参数
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| pageNum | Integer | 否 | 页码,默认1 | 1 |
| pageSize | Integer | 否 | 每页条数,默认10 | 10 |
| projectName | String | 否 | 项目名称(模糊查询) | 豪生酒店 |
| projectManager | String | 否 | 项目负责人(模糊查询) | 张三 |
| params[beginTime] | String | 否 | 安装日期开始时间(格式:yyyy-MM-dd) | 2025-01-01 |
| params[endTime] | String | 否 | 安装日期结束时间(格式:yyyy-MM-dd) | 2025-12-31 |
请求示例
GET /project/info/list?pageNum=1&pageSize=10&projectName=豪生&projectManager=张¶ms[beginTime]=2025-01-01¶ms[endTime]=2025-12-31
响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码(200成功) |
| msg | String | 返回消息 |
| total | Long | 总记录数 |
| rows | Array | 数据列表 |
rows数组元素结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| id | String | 项目ID(UUID) |
| projectCode | String | 用户项目编码 |
| projectName | String | 项目名称 |
| projectAddress | String | 项目地址 |
| installDate | String | 安装日期(yyyy-MM-dd HH:mm:ss) |
| acceptanceDate | String | 验收日期(yyyy-MM-dd HH:mm:ss) |
| onlineDate | String | 上线日期(yyyy-MM-dd HH:mm:ss) |
| deviceCount | Integer | 设备数量 |
| onlineDeviceCount | Integer | 在线设备数量 |
| offlineDeviceCount | Integer | 离线设备数量 |
| gatewayCount | Integer | 网关数量 |
| onlineGatewayCount | Integer | 在线网关数量 |
| offlineGatewayCount | Integer | 离线网关数量 |
| projectManager | String | 项目负责人 |
| electricityPrice | BigDecimal | 电单价 |
| createBy | String | 创建者 |
| createTime | String | 创建时间 |
| updateBy | String | 更新者 |
| updateTime | String | 更新时间 |
| remark | String | 备注 |
响应示例
{
"code": 200,
"msg": "查询成功",
"total": 2,
"rows": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"projectCode": "PROJ2025001",
"projectName": "梅州豪生酒店节能改造项目",
"projectAddress": "广东省梅州市梅江区江南街道",
"installDate": "2025-03-15 10:00:00",
"acceptanceDate": "2025-06-20 14:30:00",
"onlineDate": "2025-07-01 09:00:00",
"deviceCount": 150,
"onlineDeviceCount": 145,
"offlineDeviceCount": 5,
"gatewayCount": 10,
"onlineGatewayCount": 10,
"offlineGatewayCount": 0,
"projectManager": "张三",
"electricityPrice": 0.85,
"createBy": "admin",
"createTime": "2025-03-10 08:30:00",
"updateBy": "admin",
"updateTime": "2025-07-01 10:00:00",
"remark": "一期工程项目"
}
]
}
2. 查询项目详情
接口描述
根据项目ID查询单个项目的详细信息。
请求信息
- 接口路径:
/project/info/{id} - 请求方式:
GET - 权限要求:
project:info:query
路径参数
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| id | String | 是 | 项目ID(UUID) | 550e8400-e29b-41d4-a716-446655440000 |
请求示例
GET /project/info/550e8400-e29b-41d4-a716-446655440000
响应参数
同列表查询的单条记录结构
响应示例
{
"code": 200,
"msg": "操作成功",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"projectCode": "PROJ2025001",
"projectName": "梅州豪生酒店节能改造项目",
"projectAddress": "广东省梅州市梅江区江南街道",
"installDate": "2025-03-15 10:00:00",
"acceptanceDate": "2025-06-20 14:30:00",
"onlineDate": "2025-07-01 09:00:00",
"deviceCount": 150,
"onlineDeviceCount": 145,
"offlineDeviceCount": 5,
"gatewayCount": 10,
"onlineGatewayCount": 10,
"offlineGatewayCount": 0,
"projectManager": "张三",
"electricityPrice": 0.85,
"createBy": "admin",
"createTime": "2025-03-10 08:30:00",
"updateBy": "admin",
"updateTime": "2025-07-01 10:00:00",
"remark": "一期工程项目"
}
}
3. 新增项目信息
接口描述
创建新的项目信息记录。
请求信息
- 接口路径:
/project/info - 请求方式:
POST - 权限要求:
project:info:add - Content-Type:
application/json
请求参数(Body)
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| projectCode | String | 是 | 用户项目编码 | PROJ2025002 |
| projectName | String | 是 | 项目名称 | 某某酒店项目 |
| projectAddress | String | 否 | 项目地址 | 广东省深圳市南山区 |
| installDate | String | 否 | 安装日期(yyyy-MM-dd HH:mm:ss) | 2025-08-01 10:00:00 |
| acceptanceDate | String | 否 | 验收日期(yyyy-MM-dd HH:mm:ss) | 2025-10-01 14:30:00 |
| onlineDate | String | 否 | 上线日期(yyyy-MM-dd HH:mm:ss) | 2025-10-15 09:00:00 |
| deviceCount | Integer | 否 | 设备数量,默认0 | 100 |
| onlineDeviceCount | Integer | 否 | 在线设备数量,默认0 | 95 |
| offlineDeviceCount | Integer | 否 | 离线设备数量,默认0 | 5 |
| gatewayCount | Integer | 否 | 网关数量,默认0 | 8 |
| onlineGatewayCount | Integer | 否 | 在线网关数量,默认0 | 8 |
| offlineGatewayCount | Integer | 否 | 离线网关数量,默认0 | 0 |
| projectManager | String | 否 | 项目负责人 | 李四 |
| electricityPrice | BigDecimal | 否 | 电单价 | 0.75 |
| remark | String | 否 | 备注 | 二期工程 |
请求示例
{
"projectCode": "PROJ2025002",
"projectName": "深圳某某酒店节能改造项目",
"projectAddress": "广东省深圳市南山区科技园",
"installDate": "2025-08-01 10:00:00",
"acceptanceDate": "2025-10-01 14:30:00",
"onlineDate": "2025-10-15 09:00:00",
"deviceCount": 100,
"onlineDeviceCount": 95,
"offlineDeviceCount": 5,
"gatewayCount": 8,
"onlineGatewayCount": 8,
"offlineGatewayCount": 0,
"projectManager": "李四",
"electricityPrice": 0.75,
"remark": "二期工程"
}
响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码(200成功) |
| msg | String | 返回消息 |
| data | Object | 返回数据(包含新增记录的ID) |
响应示例
{
"code": 200,
"msg": "操作成功",
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001"
}
}
4. 修改项目信息
接口描述
更新已存在的项目信息记录。
请求信息
- 接口路径:
/project/info - 请求方式:
PUT - 权限要求:
project:info:edit - Content-Type:
application/json
请求参数(Body)
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| id | String | 是 | 项目ID(UUID) | 550e8400-e29b-41d4-a716-446655440000 |
| projectCode | String | 否 | 用户项目编码 | PROJ2025001 |
| projectName | String | 否 | 项目名称 | 梅州豪生酒店节能改造项目(修改后) |
| projectAddress | String | 否 | 项目地址 | 广东省梅州市梅江区江南街道(修改后) |
| installDate | String | 否 | 安装日期 | 2025-03-15 10:00:00 |
| acceptanceDate | String | 否 | 验收日期 | 2025-06-20 14:30:00 |
| onlineDate | String | 否 | 上线日期 | 2025-07-01 09:00:00 |
| deviceCount | Integer | 否 | 设备数量 | 160 |
| onlineDeviceCount | Integer | 否 | 在线设备数量 | 155 |
| offlineDeviceCount | Integer | 否 | 离线设备数量 | 5 |
| gatewayCount | Integer | 否 | 网关数量 | 12 |
| onlineGatewayCount | Integer | 否 | 在线网关数量 | 12 |
| offlineGatewayCount | Integer | 否 | 离线网关数量 | 0 |
| projectManager | String | 否 | 项目负责人 | 王五 |
| electricityPrice | BigDecimal | 否 | 电单价 | 0.90 |
| remark | String | 否 | 备注 | 一期工程扩建 |
请求示例
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"projectCode": "PROJ2025001",
"projectName": "梅州豪生酒店节能改造项目(扩建)",
"projectAddress": "广东省梅州市梅江区江南街道",
"deviceCount": 160,
"onlineDeviceCount": 155,
"offlineDeviceCount": 5,
"gatewayCount": 12,
"onlineGatewayCount": 12,
"offlineGatewayCount": 0,
"projectManager": "王五",
"electricityPrice": 0.90,
"remark": "一期工程扩建"
}
响应示例
{
"code": 200,
"msg": "操作成功"
}
5. 删除项目信息
接口描述
批量删除项目信息记录。
请求信息
- 接口路径:
/project/info/{ids} - 请求方式:
DELETE - 权限要求:
project:info:remove
路径参数
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| ids | String[] | 是 | 项目ID数组(多个ID用逗号分隔) | 550e8400-e29b-41d4-a716-446655440000,660e8400-e29b-41d4-a716-446655440001 |
请求示例
DELETE /project/info/550e8400-e29b-41d4-a716-446655440000,660e8400-e29b-41d4-a716-446655440001
响应示例
{
"code": 200,
"msg": "操作成功"
}
通用说明
状态码说明
| 状态码 | 说明 |
|---|---|
| 200 | 操作成功 |
| 401 | 未授权,需要登录 |
| 403 | 无权限访问 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
日期格式
所有日期时间字段统一使用格式:yyyy-MM-dd HH:mm:ss
注意事项
- 所有写操作(新增、修改、删除)都需要相应的权限
- ID由系统自动生成UUID,无需前端传入
- 新增和修改操作会自动记录创建人/更新人和时间
- 列表查询支持分页,默认每页10条
- 查询条件可以组合使用,未传递的条件不参与过滤
- 数值类型字段(设备数量、网关数量等)默认为0
- 电单价保留4位小数精度
权限配置
在系统中需要配置以下权限菜单:
project:info:list- 项目信息查询project:info:query- 项目详情查询project:info:add- 项目新增project:info:edit- 项目修改project:info:remove- 项目删除