# Ether 智慧物业管理平台 - API 文档 ## 概述 本文档描述了 Ether 智慧物业管理平台的 RESTful API 接口规范。 ### 基础信息 - **基础URL**: `http://localhost:8080` - **API版本**: v1 - **认证方式**: JWT Bearer Token - **数据格式**: JSON - **字符编码**: UTF-8 ### 通用响应格式 ```json { "code": 200, "message": "success", "data": { ... } } ``` ### 通用错误码 | 错误码 | 说明 | |--------|------| | 200 | 成功 | | 400 | 请求参数错误 | | 401 | 未授权 | | 403 | 无权限 | | 404 | 资源不存在 | | 500 | 服务器内部错误 | --- ## 1. 设备管理 API (ether-asset) ### 1.1 设备基础管理 #### 1.1.1 创建设备 **接口**: `POST /api/v1/asset/equipments` **描述**: 创建新设备 **请求头**: ``` Authorization: Bearer {token} X-Project-Id: {projectId} ``` **请求体**: ```json { "code": "EQ-20260220-001", "name": "中央空调主机", "equipmentType": "HVAC", "brand": "格力", "model": "GMV-400W", "specifications": "制冷量: 40kW", "serialNumber": "SN20260220001", "manufacturer": "珠海格力电器股份有限公司", "supplier": "格力授权经销商", "spaceNodeId": "uuid-space-node", "locationDesc": "A栋1楼机房", "purchaseDate": "2026-01-15", "installDate": "2026-01-20", "warrantyDate": "2028-01-20", "purchasePrice": 150000.00, "serviceLife": 15, "maintenanceCycle": 90, "managerId": "uuid-manager", "managerName": "张三", "contactPhone": "13800138000", "images": "url1,url2", "manualUrl": "https://example.com/manual.pdf", "remarks": "主要制冷设备" } ``` **响应**: ```json { "code": 200, "message": "success", "data": { "id": "uuid-equipment", "projectId": "uuid-project", "code": "EQ-20260220-001", "name": "中央空调主机", "equipmentType": "HVAC", "status": "NORMAL", ... "createdAt": "2026-02-20T10:30:00" } } ``` --- #### 1.1.2 更新设备 **接口**: `PUT /api/v1/asset/equipments/{id}` **描述**: 更新设备信息 **路径参数**: - `id`: 设备ID (UUID) **请求体**: 同创建设备 **响应**: 同创建设备 --- #### 1.1.3 删除设备 **接口**: `DELETE /api/v1/asset/equipments/{id}` **描述**: 删除设备 **路径参数**: - `id`: 设备ID (UUID) **响应**: ```json { "code": 200, "message": "success", "data": null } ``` --- #### 1.1.4 根据ID查询设备 **接口**: `GET /api/v1/asset/equipments/{id}` **描述**: 根据ID获取设备详情 **路径参数**: - `id`: 设备ID (UUID) **响应**: 同创建设备响应 --- #### 1.1.5 根据编码查询设备 **接口**: `GET /api/v1/asset/equipments/code/{code}` **描述**: 根据设备编码获取设备信息 **路径参数**: - `code`: 设备编码 **响应**: 同创建设备响应 --- #### 1.1.6 查询项目下所有设备 **接口**: `GET /api/v1/asset/equipments` **描述**: 获取当前项目下所有设备列表 **请求头**: ``` Authorization: Bearer {token} X-Project-Id: {projectId} ``` **响应**: ```json { "code": 200, "message": "success", "data": [ { "id": "uuid-equipment-1", "code": "EQ-001", "name": "设备1", ... }, { "id": "uuid-equipment-2", "code": "EQ-002", "name": "设备2", ... } ] } ``` --- #### 1.1.7 根据类型查询设备 **接口**: `GET /api/v1/asset/equipments/type/{equipmentType}` **描述**: 根据设备类型查询设备列表 **路径参数**: - `equipmentType`: 设备类型枚举值 **设备类型枚举**: | 枚举值 | 说明 | |--------|------| | HVAC | 暖通空调 | | ELEVATOR | 电梯设备 | | FIRE_FIGHTING | 消防设备 | | ELECTRICAL | 电气设备 | | WATER_SUPPLY | 给排水设备 | | SECURITY | 安防设备 | | PARKING | 停车设备 | | CLEANING | 清洁设备 | | LANDSCAPE | 园林设备 | | OTHER | 其他设备 | **响应**: 同查询项目下所有设备 --- #### 1.1.8 根据状态查询设备 **接口**: `GET /api/v1/asset/equipments/status/{status}` **描述**: 根据设备状态查询设备列表 **路径参数**: - `status`: 设备状态枚举值 **设备状态枚举**: | 枚举值 | 说明 | |--------|------| | NORMAL | 正常 | | MAINTENANCE | 维修中 | | FAULT | 故障 | | SCRAPPED | 报废 | **响应**: 同查询项目下所有设备 --- #### 1.1.9 根据空间节点查询设备 **接口**: `GET /api/v1/asset/equipments/space-node/{spaceNodeId}` **描述**: 根据空间节点ID查询设备列表 **路径参数**: - `spaceNodeId`: 空间节点ID (UUID) **响应**: 同查询项目下所有设备 --- #### 1.1.10 搜索设备 **接口**: `GET /api/v1/asset/equipments/search` **描述**: 根据设备名称模糊搜索 **查询参数**: - `name`: 设备名称关键词 **响应**: 同查询项目下所有设备 --- #### 1.1.11 更新设备状态 **接口**: `PATCH /api/v1/asset/equipments/{id}/status` **描述**: 更新设备运行状态 **路径参数**: - `id`: 设备ID (UUID) **查询参数**: - `status`: 设备状态枚举值 **响应**: 同创建设备响应 --- #### 1.1.12 记录保养 **接口**: `POST /api/v1/asset/equipments/{id}/maintenance` **描述**: 记录设备保养操作 **路径参数**: - `id`: 设备ID (UUID) **响应**: 同创建设备响应 --- #### 1.1.13 生成设备编码 **接口**: `GET /api/v1/asset/equipments/generate-code` **描述**: 生成新的设备编码 **查询参数**: - `equipmentType`: 设备类型枚举值 **响应**: ```json { "code": 200, "message": "success", "data": "EQ-HVAC-20260220-001" } ``` --- #### 1.1.14 报告设备故障 **接口**: `POST /api/v1/asset/equipments/{id}/report-fault` **描述**: 报告设备故障,自动创建维修工单 **路径参数**: - `id`: 设备ID (UUID) **查询参数**: - `faultDescription`: 故障描述 (必填) - `reporterId`: 报告人ID (可选) - `reporterName`: 报告人姓名 (可选) - `reporterPhone`: 报告人电话 (可选) **响应**: ```json { "code": 200, "message": "success", "data": "uuid-work-order" } ``` --- #### 1.1.15 获取设备维修历史 **接口**: `GET /api/v1/asset/equipments/{id}/repair-history` **描述**: 获取设备维修工单历史记录 **路径参数**: - `id`: 设备ID (UUID) **响应**: ```json { "code": 200, "message": "success", "data": [ { "workOrderId": "uuid-work-order", "workOrderNo": "WO-20260220-001", "title": "空调故障维修", "status": "COMPLETED", "createdAt": "2026-02-15T10:00:00" } ] } ``` --- ### 1.2 设备二维码管理 #### 1.2.1 获取设备二维码 **接口**: `GET /api/v1/asset/equipment/qrcode/{equipmentId}` **描述**: 生成并返回设备二维码图片 **路径参数**: - `equipmentId`: 设备ID (UUID) **响应**: - Content-Type: image/png - 返回二维码图片二进制数据 --- #### 1.2.2 批量生成二维码 **接口**: `GET /api/v1/asset/equipment/qrcode/batch` **描述**: 批量生成设备二维码信息 **查询参数**: - `equipmentIds`: 设备ID列表 (多个UUID,逗号分隔) **响应**: ```json { "code": 200, "message": "success", "data": [ { "equipmentId": "uuid-1", "equipmentCode": "EQ-001", "equipmentName": "设备1", "qrCodeUrl": "/api/v1/asset/equipment/qrcode/uuid-1" } ] } ``` --- #### 1.2.3 扫码获取设备信息 **接口**: `GET /api/v1/asset/equipment/qrcode/info/{qrCode}` **描述**: 通过二维码内容获取设备信息 **路径参数**: - `qrCode`: 二维码内容 (格式: EQUIPMENT:{uuid}) **响应**: ```json { "code": 200, "message": "success", "data": { "id": "uuid-equipment", "code": "EQ-001", "name": "中央空调主机", "type": "暖通空调", "status": "正常", "location": "A栋1楼机房", "brand": "格力", "model": "GMV-400W" } } ``` --- ### 1.3 设备统计 API #### 1.3.1 设备概览统计 **接口**: `GET /api/v1/asset/equipment/statistics/overview` **描述**: 获取设备总体统计数据 **响应**: ```json { "code": 200, "message": "success", "data": { "total": 150, "normal": 120, "maintenance": 15, "fault": 10, "scrapped": 5, "maintenanceRate": 10.0, "faultRate": 6.67 } } ``` --- #### 1.3.2 按状态统计 **接口**: `GET /api/v1/asset/equipment/statistics/by-status` **描述**: 按设备状态统计数量 **响应**: ```json { "code": 200, "message": "success", "data": { "NORMAL": 120, "MAINTENANCE": 15, "FAULT": 10, "SCRAPPED": 5 } } ``` --- #### 1.3.3 按类型统计 **接口**: `GET /api/v1/asset/equipment/statistics/by-type` **描述**: 按设备类型统计数量 **响应**: ```json { "code": 200, "message": "success", "data": { "HVAC": 30, "ELEVATOR": 10, "FIRE_FIGHTING": 25, "ELECTRICAL": 40, "WATER_SUPPLY": 20, "SECURITY": 15, "OTHER": 10 } } ``` --- #### 1.3.4 故障率统计 **接口**: `GET /api/v1/asset/equipment/statistics/fault-rate` **描述**: 获取设备故障率统计 **响应**: ```json { "code": 200, "message": "success", "data": { "totalFaults": 25, "totalEquipment": 150, "faultRate": 16.67, "monthlyFaults": [ {"month": "2026-01", "count": 8}, {"month": "2026-02", "count": 5} ] } } ``` --- #### 1.3.5 维保趋势统计 **接口**: `GET /api/v1/asset/equipment/statistics/maintenance-trend` **描述**: 获取设备维保趋势数据 **查询参数**: - `days`: 统计天数 (默认30天) **响应**: ```json { "code": 200, "message": "success", "data": { "totalMaintenance": 45, "completedMaintenance": 40, "pendingMaintenance": 5, "dailyTrend": [ {"date": "2026-02-19", "count": 3}, {"date": "2026-02-20", "count": 2} ] } } ``` --- #### 1.3.6 故障设备排行 **接口**: `GET /api/v1/asset/equipment/statistics/top-fault` **描述**: 获取故障次数最多的设备排行 **查询参数**: - `limit`: 返回数量 (默认10) **响应**: ```json { "code": 200, "message": "success", "data": { "topFaultEquipment": [ { "equipmentId": "uuid-1", "equipmentCode": "EQ-001", "equipmentName": "电梯A", "faultCount": 5 } ] } } ``` --- ### 1.4 维保计划管理 #### 1.4.1 创建维保计划 **接口**: `POST /api/v1/asset/maintenance-plans` **描述**: 创建设备维保计划 **请求体**: ```json { "equipmentId": "uuid-equipment", "planName": "季度保养计划", "planType": "PERIODIC", "frequency": "QUARTERLY", "startDate": "2026-01-01", "endDate": "2026-12-31", "nextExecutionDate": "2026-03-01", "content": "检查制冷系统、清洁滤网、检查电气连接", "estimatedDuration": 120, "estimatedCost": 500.00, "executorId": "uuid-executor", "executorName": "李四", "remarks": "每季度执行一次" } ``` **响应**: 返回创建的维保计划详情 --- #### 1.4.2 查询维保计划列表 **接口**: `GET /api/v1/asset/maintenance-plans` **描述**: 分页查询维保计划列表 **查询参数**: - `page`: 页码 (默认0) - `size`: 每页数量 (默认20) - `sortBy`: 排序字段 (默认createdAt) - `sortDir`: 排序方向 (ASC/DESC,默认DESC) **响应**: 返回分页的维保计划列表 --- #### 1.4.3 查询待执行的维保计划 **接口**: `GET /api/v1/asset/maintenance-plans/executable` **描述**: 查询指定日期可执行的维保计划 **查询参数**: - `date`: 查询日期 (格式: yyyy-MM-dd) **响应**: 返回待执行的维保计划列表 --- #### 1.4.4 执行维保计划 **接口**: `POST /api/v1/asset/maintenance-plans/{id}/execute` **描述**: 执行维保计划,创建维保记录 **路径参数**: - `id`: 维保计划ID **响应**: 返回创建的维保记录ID --- ### 1.5 维保记录管理 #### 1.5.1 创建维保记录 **接口**: `POST /api/v1/asset/maintenance-records` **描述**: 创建维保记录 **请求体**: ```json { "equipmentId": "uuid-equipment", "planId": "uuid-plan", "maintenanceType": "PERIODIC", "scheduledDate": "2026-02-20", "content": "清洁滤网、检查制冷剂、检查电气连接", "executorId": "uuid-executor", "executorName": "李四", "estimatedCost": 500.00 } ``` **响应**: 返回创建的维保记录详情 --- #### 1.5.2 查询维保记录列表 **接口**: `GET /api/v1/asset/maintenance-records` **描述**: 分页查询维保记录列表 **查询参数**: - `page`: 页码 (默认0) - `size`: 每页数量 (默认20) - `sortBy`: 排序字段 (默认createdAt) - `sortDir`: 排序方向 (ASC/DESC,默认DESC) **响应**: 返回分页的维保记录列表 --- #### 1.5.3 开始维保 **接口**: `PATCH /api/v1/asset/maintenance-records/{id}/start` **描述**: 开始执行维保任务 **路径参数**: - `id`: 维保记录ID **响应**: 返回更新后的维保记录 --- #### 1.5.4 完成维保 **接口**: `PATCH /api/v1/asset/maintenance-records/{id}/complete` **描述**: 完成维保任务 **路径参数**: - `id`: 维保记录ID **查询参数**: - `result`: 维保结果描述 (必填) - `images`: 维保图片URL (可选) **响应**: 返回更新后的维保记录 --- #### 1.5.5 取消维保 **接口**: `PATCH /api/v1/asset/maintenance-records/{id}/cancel` **描述**: 取消维保任务 **路径参数**: - `id`: 维保记录ID **查询参数**: - `reason`: 取消原因 (必填) **响应**: 返回更新后的维保记录 --- ## 2. 收费管理 API (ether-finance) ### 2.1 收费项目管理 #### 2.1.1 创建收费项目 **接口**: `POST /api/v1/finance/fee-items` **描述**: 创建新的收费项目 **请求头**: ``` Authorization: Bearer {token} X-Project-Id: {projectId} ``` **请求体**: ```json { "itemCode": "FI-001", "itemName": "物业管理费", "feeType": "PROPERTY_MANAGEMENT", "unitPrice": 3.50, "unit": "元/平方米/月", "billingCycle": "MONTHLY", "description": "按建筑面积收取", "sortOrder": 1 } ``` **收费类型枚举**: | 枚举值 | 说明 | |--------|------| | PROPERTY_MANAGEMENT | 物业管理费 | | WATER | 水费 | | ELECTRICITY | 电费 | | GAS | 燃气费 | | PARKING | 停车费 | | DECORATION_DEPOSIT | 装修押金 | | PROPERTY_MAINTENANCE | 物业维修基金 | | OTHER | 其他费用 | **响应**: ```json { "code": 200, "message": "success", "data": { "id": "uuid-fee-item", "projectId": "uuid-project", "itemCode": "FI-001", "itemName": "物业管理费", "feeType": "PROPERTY_MANAGEMENT", "unitPrice": 3.50, "unit": "元/平方米/月", "billingCycle": "MONTHLY", "enabled": true, "createdAt": "2026-02-20T10:30:00" } } ``` --- #### 2.1.2 更新收费项目 **接口**: `PUT /api/v1/finance/fee-items/{id}` **描述**: 更新收费项目信息 **路径参数**: - `id`: 收费项目ID (UUID) **请求体**: 同创建收费项目 **响应**: 同创建收费项目 --- #### 2.1.3 删除收费项目 **接口**: `DELETE /api/v1/finance/fee-items/{id}` **描述**: 删除收费项目 **路径参数**: - `id`: 收费项目ID (UUID) **响应**: ```json { "code": 200, "message": "success", "data": null } ``` --- #### 2.1.4 查询收费项目详情 **接口**: `GET /api/v1/finance/fee-items/{id}` **描述**: 根据ID获取收费项目详情 **路径参数**: - `id`: 收费项目ID (UUID) **响应**: 同创建收费项目 --- #### 2.1.5 查询收费项目列表 **接口**: `GET /api/v1/finance/fee-items` **描述**: 获取当前项目下所有收费项目列表 **响应**: ```json { "code": 200, "message": "success", "data": [ { "id": "uuid-1", "itemCode": "FI-001", "itemName": "物业管理费", ... }, { "id": "uuid-2", "itemCode": "FI-002", "itemName": "水费", ... } ] } ``` --- ### 2.2 账单管理 #### 2.2.1 创建账单 **接口**: `POST /api/v1/finance/bills` **描述**: 创建收费账单 **请求体**: ```json { "houseId": "uuid-house", "contractId": "uuid-contract", "houseNo": "A栋1单元101", "ownerId": "uuid-owner", "ownerName": "王五", "ownerPhone": "13900139000", "feeItemId": "uuid-fee-item", "feeType": "PROPERTY_MANAGEMENT", "feeItemName": "物业管理费", "billingPeriodStart": "2026-02-01", "billingPeriodEnd": "2026-02-28", "quantity": 100.00, "unit": "平方米", "unitPrice": 3.50, "amount": 350.00, "discountAmount": 0, "lateFee": 0, "totalAmount": 350.00, "dueDate": "2026-03-10", "description": "2026年2月物业管理费", "issuedBy": "张三" } ``` **响应**: ```json { "code": 200, "message": "success", "data": { "id": "uuid-bill", "projectId": "uuid-project", "billNo": "FB20260220001", "houseNo": "A栋1单元101", "ownerName": "王五", "feeItemName": "物业管理费", "totalAmount": 350.00, "paidAmount": 0, "unpaidAmount": 350.00, "status": "PENDING", "dueDate": "2026-03-10", "createdAt": "2026-02-20T10:30:00" } } ``` --- #### 2.2.2 更新账单 **接口**: `PUT /api/v1/finance/bills/{id}` **描述**: 更新账单信息 **路径参数**: - `id`: 账单ID (UUID) **请求体**: 同创建账单 **响应**: 同创建账单 --- #### 2.2.3 删除账单 **接口**: `DELETE /api/v1/finance/bills/{id}` **描述**: 删除账单 **路径参数**: - `id`: 账单ID (UUID) **响应**: ```json { "code": 200, "message": "success", "data": null } ``` --- #### 2.2.4 查询账单详情 **接口**: `GET /api/v1/finance/bills/{id}` **描述**: 根据ID获取账单详情 **路径参数**: - `id`: 账单ID (UUID) **响应**: 同创建账单 --- #### 2.2.5 查询账单列表 **接口**: `GET /api/v1/finance/bills` **描述**: 分页查询账单列表 **查询参数**: - `page`: 页码 (默认0) - `size`: 每页数量 (默认20) - `sort`: 排序字段 (默认createdAt) - `direction`: 排序方向 (ASC/DESC,默认DESC) **响应**: ```json { "code": 200, "message": "success", "data": { "content": [ { "id": "uuid-bill-1", "billNo": "FB20260220001", ... } ], "totalElements": 100, "totalPages": 5, "number": 0, "size": 20 } } ``` --- #### 2.2.6 按状态查询账单 **接口**: `GET /api/v1/finance/bills/by-status` **描述**: 根据状态查询账单列表 **查询参数**: - `status`: 账单状态枚举值 **账单状态枚举**: | 枚举值 | 说明 | |--------|------| | PENDING | 待缴费 | | PARTIAL | 部分缴费 | | PAID | 已缴清 | | OVERDUE | 已逾期 | | CANCELLED | 已取消 | **响应**: 返回账单列表 --- ### 2.3 支付管理 #### 2.3.1 创建支付 **接口**: `POST /api/v1/finance/bills/{billId}/pay` **描述**: 为账单创建支付记录 **路径参数**: - `billId`: 账单ID (UUID) **查询参数**: - `amount`: 支付金额 (必填) - `method`: 支付方式 (必填) **支付方式枚举**: | 枚举值 | 说明 | |--------|------| | CASH | 现金 | | WECHAT | 微信支付 | | ALIPAY | 支付宝 | | BANK_TRANSFER | 银行转账 | | OTHER | 其他 | **响应**: ```json { "code": 200, "message": "success", "data": { "id": "uuid-payment", "paymentNo": "FP20260220001", "billNo": "FB20260220001", "amount": 350.00, "paymentMethod": "WECHAT", "status": "SUCCESS", "paymentTime": "2026-02-20T14:30:00", "payerName": "王五", "transactionNo": "WX20260220143000001" } } ``` --- #### 2.3.2 查询支付详情 **接口**: `GET /api/v1/finance/payments/{id}` **描述**: 根据ID获取支付记录详情 **路径参数**: - `id`: 支付记录ID (UUID) **响应**: 同创建支付 --- #### 2.3.3 查询支付记录列表 **接口**: `GET /api/v1/finance/payments` **描述**: 分页查询支付记录列表 **查询参数**: - `page`: 页码 (默认0) - `size`: 每页数量 (默认20) **响应**: ```json { "code": 200, "message": "success", "data": { "content": [ { "id": "uuid-payment-1", "paymentNo": "FP20260220001", ... } ], "totalElements": 50, "totalPages": 3, "number": 0, "size": 20 } } ``` --- #### 2.3.4 创建在线支付 **接口**: `POST /api/v1/finance/payments/create` **描述**: 创建在线支付订单(微信/支付宝) **查询参数**: - `billId`: 账单ID - `method`: 支付方式 (WECHAT/ALIPAY) **响应**: ```json { "code": 200, "message": "success", "data": { "status": "success", "paymentNo": "FP20260220001", "prepayId": "wx_prepay_id", "codeUrl": "weixin://wxpay/bizpayurl?...", "message": "支付订单创建成功" } } ``` --- #### 2.3.5 查询支付状态 **接口**: `GET /api/v1/finance/payments/query/{paymentNo}` **描述**: 查询在线支付订单状态 **路径参数**: - `paymentNo`: 支付单号 **查询参数**: - `method`: 支付方式 (WECHAT/ALIPAY) **响应**: ```json { "code": 200, "message": "success", "data": { "paymentNo": "FP20260220001", "status": "SUCCESS", "amount": 350.00, "paymentTime": "2026-02-20T14:30:00" } } ``` --- #### 2.3.6 支付退款 **接口**: `POST /api/v1/finance/payments/refund/{paymentId}` **描述**: 申请支付退款 **路径参数**: - `paymentId`: 支付记录ID (UUID) **查询参数**: - `refundAmount`: 退款金额 - `reason`: 退款原因 **响应**: ```json { "code": 200, "message": "success", "data": { "status": "success", "refundNo": "RF20260220001", "refundAmount": 350.00, "message": "退款申请成功" } } ``` --- #### 2.3.7 关闭支付订单 **接口**: `POST /api/v1/finance/payments/close/{paymentNo}` **描述**: 关闭未支付的支付订单 **路径参数**: - `paymentNo`: 支付单号 **查询参数**: - `method`: 支付方式 (WECHAT/ALIPAY) **响应**: ```json { "code": 200, "message": "success", "data": true } ``` --- ### 2.4 统计分析 #### 2.4.1 收费统计概览 **接口**: `GET /api/v1/finance/statistics` **描述**: 获取收费统计数据概览 **响应**: ```json { "code": 200, "message": "success", "data": { "todayReceivable": 15000.00, "todayReceived": 12500.00, "outstandingAmount": 85000.00, "overdueAmount": 25000.00, "totalBills": 500, "pendingBills": 120, "paidBills": 350, "overdueBills": 30 } } ``` --- #### 2.4.2 今日应收金额 **接口**: `GET /api/v1/finance/statistics/today-receivable` **描述**: 获取今日应收金额 **响应**: ```json { "code": 200, "message": "success", "data": 15000.00 } ``` --- #### 2.4.3 今日实收金额 **接口**: `GET /api/v1/finance/statistics/today-received` **描述**: 获取今日实收金额 **响应**: ```json { "code": 200, "message": "success", "data": 12500.00 } ``` --- #### 2.4.4 待收金额 **接口**: `GET /api/v1/finance/statistics/pending-amount` **描述**: 获取待收金额 **响应**: ```json { "code": 200, "message": "success", "data": 85000.00 } ``` --- #### 2.4.5 逾期金额 **接口**: `GET /api/v1/finance/statistics/overdue-amount` **描述**: 获取逾期金额 **响应**: ```json { "code": 200, "message": "success", "data": 25000.00 } ``` --- #### 2.4.6 账单状态统计 **接口**: `GET /api/v1/finance/statistics/bill-status-count` **描述**: 按状态统计账单数量 **响应**: ```json { "code": 200, "message": "success", "data": { "PENDING": 120, "PARTIAL": 30, "PAID": 350, "OVERDUE": 30, "CANCELLED": 5 } } ``` --- ### 2.5 导出功能 #### 2.5.1 导出账单列表 **接口**: `GET /api/v1/finance/bills/export` **描述**: 导出账单列表为Excel文件 **查询参数**: - `status`: 账单状态 (可选) - `startDate`: 开始日期 (可选) - `endDate`: 结束日期 (可选) **响应**: - Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - 返回Excel文件 --- #### 2.5.2 导出支付记录 **接口**: `GET /api/v1/finance/payments/export` **描述**: 导出支付记录为Excel文件 **查询参数**: - `startDate`: 开始日期 (可选) - `endDate`: 结束日期 (可选) **响应**: - Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - 返回Excel文件 --- #### 2.5.3 导出收费统计报表 **接口**: `GET /api/v1/finance/statistics/export` **描述**: 导出收费统计报表为Excel文件 **查询参数**: - `startDate`: 开始日期 (可选) - `endDate`: 结束日期 (可选) **响应**: - Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - 返回Excel文件 --- #### 2.5.4 导出业主缴费明细 **接口**: `GET /api/v1/finance/owner/{ownerId}/payment-detail/export` **描述**: 导出指定业主的缴费明细 **路径参数**: - `ownerId`: 业主ID (UUID) **查询参数**: - `startDate`: 开始日期 (可选) - `endDate`: 结束日期 (可选) **响应**: - Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - 返回Excel文件 --- ## 3. 数据模型 ### 3.1 设备实体 (Equipment) | 字段名 | 类型 | 说明 | |--------|------|------| | id | UUID | 主键 | | projectId | UUID | 项目ID | | code | String | 设备编码 | | name | String | 设备名称 | | equipmentType | Enum | 设备类型 | | status | Enum | 设备状态 | | brand | String | 品牌 | | model | String | 型号 | | specifications | String | 规格参数 | | serialNumber | String | 序列号 | | manufacturer | String | 生产厂家 | | supplier | String | 供应商 | | spaceNodeId | UUID | 安装位置ID | | locationDesc | String | 位置描述 | | purchaseDate | LocalDate | 购置日期 | | installDate | LocalDate | 安装日期 | | warrantyDate | LocalDate | 保修期至 | | purchasePrice | BigDecimal | 购置价格 | | serviceLife | Integer | 使用年限 | | maintenanceCycle | Integer | 保养周期 | | lastMaintenanceDate | LocalDate | 上次保养日期 | | nextMaintenanceDate | LocalDate | 下次保养日期 | | managerId | UUID | 负责人ID | | managerName | String | 负责人姓名 | | contactPhone | String | 联系电话 | | images | String | 设备图片 | | manualUrl | String | 说明书URL | | remarks | String | 备注 | | attributes | JSON | 扩展属性 | | createdAt | LocalDateTime | 创建时间 | | updatedAt | LocalDateTime | 更新时间 | --- ### 3.2 收费项目实体 (FeeItem) | 字段名 | 类型 | 说明 | |--------|------|------| | id | UUID | 主键 | | projectId | UUID | 项目ID | | itemCode | String | 项目编码 | | itemName | String | 项目名称 | | feeType | Enum | 收费类型 | | unitPrice | BigDecimal | 单价 | | unit | String | 单位 | | billingCycle | String | 计费周期 | | description | String | 描述 | | enabled | Boolean | 是否启用 | | sortOrder | Integer | 排序 | | createdAt | LocalDateTime | 创建时间 | | updatedAt | LocalDateTime | 更新时间 | --- ### 3.3 账单实体 (FeeBill) | 字段名 | 类型 | 说明 | |--------|------|------| | id | UUID | 主键 | | projectId | UUID | 项目ID | | billNo | String | 账单号 | | houseId | UUID | 房屋ID | | contractId | UUID | 合同ID | | houseNo | String | 房屋编号 | | ownerId | UUID | 业主ID | | ownerName | String | 业主姓名 | | ownerPhone | String | 业主电话 | | feeItemId | UUID | 收费项目ID | | feeType | Enum | 收费类型 | | feeItemName | String | 收费项目名称 | | billingPeriodStart | LocalDate | 计费开始日期 | | billingPeriodEnd | LocalDate | 计费结束日期 | | quantity | BigDecimal | 数量 | | unit | String | 单位 | | unitPrice | BigDecimal | 单价 | | amount | BigDecimal | 金额 | | discountAmount | BigDecimal | 优惠金额 | | lateFee | BigDecimal | 滞纳金 | | totalAmount | BigDecimal | 总金额 | | paidAmount | BigDecimal | 已付金额 | | unpaidAmount | BigDecimal | 未付金额 | | status | Enum | 账单状态 | | dueDate | LocalDate | 缴费截止日期 | | overdueDays | Integer | 逾期天数 | | description | String | 描述 | | remarks | String | 备注 | | issuedBy | String | 开单人 | | issuedAt | LocalDateTime | 开单时间 | | createdAt | LocalDateTime | 创建时间 | | updatedAt | LocalDateTime | 更新时间 | --- ## 4. 附录 ### 4.1 服务端口 | 服务 | 端口 | |------|------| | ether-gateway | 8080 | | ether-auth | 8081 | | ether-mdm | 8082 | | ether-ops | 8083 | | ether-finance | 8085 | | ether-asset | 8084 | ### 4.2 相关文档 - [待开发功能列表](./pending-features.md) - [数据库设计](./02-DESIGN/domains/03-ASSET.md) - [领域模型设计](./02-DESIGN/domains/04-FINANCE.md) --- *最后更新: 2026-02-20*