Compare commits

..

No commits in common. "aea0a8cc2a5f08906b32823b270f2681ca306a17" and "1742c4cd767ce670471bf9de48a111d6d2d969c6" have entirely different histories.

8 changed files with 2277 additions and 1446 deletions

View File

@ -3,7 +3,7 @@
本仓库包含福建水务业务系统的初步设计文档,包括系统架构、模块设计、接口设计、数据库设计、部署设计等内容。 本仓库包含福建水务业务系统的初步设计文档,包括系统架构、模块设计、接口设计、数据库设计、部署设计等内容。
## 文档目录 ## 文档目录
- [专业术语](./water_business_terms.md)
- [设计计划](./water_biz_design_plan.md) - [设计计划](./water_biz_design_plan.md)
- [文档目录](./water_biz_doc_toc.md) - [文档目录](./water_biz_doc_toc.md)
- [系统概述](./water_biz_summary.md) - [系统概述](./water_biz_summary.md)
@ -15,5 +15,4 @@
## 版本信息 ## 版本信息
初始版本1.0.0 初始版本1.0.0
更新日期2024-05-08

View File

@ -1,285 +1,272 @@
# 福建水务业务系统数据库设计 # 福建水务营收系统数据库设计
## 目录 ## 一、数据库设计概述
- [1. 数据库设计概述](#1-数据库设计概述)
- [2. 数据库架构](#2-数据库架构)
- [3. 主要数据实体](#3-主要数据实体)
- [4. 表结构设计](#4-表结构设计)
- [5. 索引设计](#5-索引设计)
- [6. 数据安全性设计](#6-数据安全性设计)
## 1. 数据库设计概述 福建水务营收系统采用关系型数据库MySQL作为主要存储系统结合Redis缓存提升性能。数据库设计遵循标准化原则确保数据完整性、一致性和高效性。
福建水务业务系统的数据库设计基于 SQL Server 2012 数据库管理系统,采用关系型数据库模型,以支持业务系统的高并发、高可靠性需求。数据库设计遵循标准化、安全性、扩展性和性能优化的原则,为业务系统提供稳定、高效的数据存储和访问支持。 ## 二、数据库架构设计
### 1.1 设计目标 ### 1. 数据库架构图
- 支持系统功能需求,满足业务处理的数据需求 ```mermaid
- 优化数据库性能,支持高并发访问 graph TD
- 确保数据安全性,防止数据泄露和丢失 App[应用服务] --> Master[(主数据库)]
- 支持系统横向扩展,适应业务增长需求 Master --> Slave1[(从数据库1)]
- 支持多租户架构,实现数据隔离 Master --> Slave2[(从数据库2)]
App --> Redis[(Redis缓存)]
subgraph 主从复制架构
Master
Slave1
Slave2
end
subgraph 缓存层
Redis
end
```
### 1.2 设计原则 ### 2. 主要特点
- **规范化设计**:遵循数据库设计的第三范式,减少数据冗余 - **读写分离**: 主库负责写操作,从库负责读操作,提高系统吞吐量
- **适度冗余**:对于常用查询,适度保留冗余字段,提高查询效率 - **数据冗余**: 通过主从复制实现数据冗余,提高可用性
- **模块化**:按业务模块划分表组,便于维护和扩展 - **缓存加速**: 使用Redis缓存热点数据减轻数据库压力
- **安全性**:设计完善的权限控制和数据加密方案 - **分库设计**: 按业务功能划分为多个逻辑库,便于管理和维护
- **可扩展性**:预留扩展字段,支持业务功能的扩展 - **分表策略**: 对大表采用分表策略,提高查询效率
## 2. 数据库架构 ## 三、数据模型设计
### 2.1 总体架构 ### 1. 实体关系图(ER图)
系统采用集中式数据库架构,主要包含以下组件: ```mermaid
erDiagram
SYS_USER ||--o{ SYS_USER_ROLE : has
SYS_ROLE ||--o{ SYS_USER_ROLE : assigned_to
SYS_ROLE ||--o{ SYS_ROLE_MENU : has
SYS_MENU ||--o{ SYS_ROLE_MENU : assigned_to
WATER_CUSTOMER ||--o{ WATER_METER : owns
WATER_METER ||--o{ WATER_METER_READING : has
WATER_METER_READING ||--o{ WATER_BILLING : generates
WATER_CUSTOMER ||--o{ WATER_BILLING : billed
WATER_BILLING ||--o{ WATER_PAYMENT : paid_by
WATER_PAYMENT ||--o{ WATER_INVOICE : has
WATER_PRICE ||--o{ WATER_BILLING : applied_to
WATER_EMPLOYEE ||--o{ WATER_METER_READING : records
WATER_SERVICE_POINT ||--o{ WATER_EMPLOYEE : works_at
```
- **主数据库**:存储核心业务数据,支持事务处理 ### 2. 数据库表结构设计
- **报表数据库**:存储统计分析数据,支持复杂查询和报表生成
- **历史数据库**:存储历史业务数据,减轻主数据库负担
- **缓存系统**:使用内存数据库缓存热点数据,提高访问效率
### 2.2 多租户设计 #### 2.1 系统管理模块
系统采用数据分区方式实现多租户架构,主要包括: ##### SYS_USER (用户表)
- **共享数据库,共享模式**:所有租户共享同一数据库实例和表结构 | 字段名 | 数据类型 | 长度 | 是否必填 | 主键 | 说明 |
- **租户标识列**:在每个表中增加租户标识列,实现数据隔离
- **视图隔离**:为不同租户创建视图,限制数据访问范围
- **权限控制**:通过数据库权限控制租户对数据的访问
## 3. 主要数据实体
系统主要包含以下核心数据实体:
### 3.1 客户实体
- **客户基本信息**:存储客户的基本资料
- **表卡信息**:存储水表基本信息和安装位置
- **账户信息**:存储客户账户信息和余额
- **联系人信息**:存储客户联系人信息
### 3.2 营收实体
- **抄表记录**:存储水表抄读记录
- **账单信息**:存储客户水费账单
- **缴费记录**:存储客户缴费记录
- **调价记录**:存储水价调整记录
### 3.3 表务实体
- **水表档案**:存储水表的完整信息和生命周期
- **表务工单**:存储表务作业工单信息
- **仓库信息**:存储水表仓库信息
- **出入库记录**:存储水表出入库记录
### 3.4 报装实体
- **报装申请**:存储新用户报装申请信息
- **报装工单**:存储报装作业工单信息
- **施工记录**:存储报装施工记录
- **验收记录**:存储报装验收记录
### 3.5 系统管理实体
- **组织机构**:存储系统组织机构信息
- **用户信息**:存储系统用户信息
- **角色权限**:存储系统角色和权限信息
- **系统日志**:存储系统操作日志
## 4. 表结构设计
以下是系统主要表结构设计,按业务模块划分:
### 4.1 客户管理相关表
#### 4.1.1 客户基本信息表(TB_CUSTOMER)
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 |
|-------|---------|------|---------|-----|------| |-------|---------|------|---------|-----|------|
| CUSTOMER_ID | VARCHAR | 20 | 否 | 是 | 客户编号,主键 | | id | bigint | 20 | 是 | 是 | 用户ID |
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 | | username | varchar | 50 | 是 | 否 | 用户名 |
| CUSTOMER_NAME | VARCHAR | 100 | 否 | 否 | 客户名称 | | password | varchar | 100 | 是 | 否 | 密码 |
| CUSTOMER_TYPE | VARCHAR | 10 | 否 | 否 | 客户类型 | | nickname | varchar | 50 | 否 | 否 | 昵称 |
| ID_TYPE | VARCHAR | 10 | 是 | 否 | 证件类型 | | dept_id | bigint | 20 | 否 | 否 | 部门ID |
| ID_NUMBER | VARCHAR | 30 | 是 | 否 | 证件号码 | | phone | varchar | 11 | 否 | 否 | 手机号 |
| PHONE | VARCHAR | 20 | 是 | 否 | 联系电话 | | email | varchar | 50 | 否 | 否 | 邮箱 |
| ADDRESS | VARCHAR | 200 | 是 | 否 | 地址 | | gender | tinyint | 4 | 否 | 否 | 性别 |
| AREA_CODE | VARCHAR | 20 | 是 | 否 | 行政区划代码 | | avatar | varchar | 100 | 否 | 否 | 头像 |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 | | status | tinyint | 4 | 是 | 否 | 状态(0正常,1停用) |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 | | login_ip | varchar | 50 | 否 | 否 | 最后登录IP |
| STATUS | VARCHAR | 10 | 否 | 否 | 状态 | | login_date | datetime | - | 否 | 否 | 最后登录时间 |
| creator | varchar | 64 | 否 | 否 | 创建者 |
| create_time | datetime | - | 是 | 否 | 创建时间 |
| updater | varchar | 64 | 否 | 否 | 更新者 |
| update_time | datetime | - | 是 | 否 | 更新时间 |
| deleted | bit | 1 | 是 | 否 | 是否删除 |
#### 4.1.2 表卡信息表(TB_METER_INFO) ##### SYS_ROLE (角色表)
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 | | 字段名 | 数据类型 | 长度 | 是否必填 | 主键 | 说明 |
|-------|---------|------|---------|-----|------| |-------|---------|------|---------|-----|------|
| METER_ID | VARCHAR | 20 | 否 | 是 | 水表编号,主键 | | id | bigint | 20 | 是 | 是 | 角色ID |
| CUSTOMER_ID | VARCHAR | 20 | 否 | 否 | 客户编号,外键 | | name | varchar | 30 | 是 | 否 | 角色名称 |
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 | | code | varchar | 100 | 是 | 否 | 角色编码 |
| METER_NO | VARCHAR | 30 | 否 | 否 | 水表号 | | sort | int | 11 | 是 | 否 | 显示顺序 |
| METER_TYPE | VARCHAR | 10 | 否 | 否 | 水表类型 | | status | tinyint | 4 | 是 | 否 | 状态(0正常,1停用) |
| METER_MODEL | VARCHAR | 20 | 是 | 否 | 水表型号 | | type | tinyint | 4 | 是 | 否 | 角色类型 |
| METER_CALIBER | VARCHAR | 10 | 是 | 否 | 水表口径 | | remark | varchar | 500 | 否 | 否 | 备注 |
| INSTALL_DATE | DATE | - | 是 | 否 | 安装日期 | | creator | varchar | 64 | 否 | 否 | 创建者 |
| INSTALL_POSITION | VARCHAR | 200 | 是 | 否 | 安装位置 | | create_time | datetime | - | 是 | 否 | 创建时间 |
| INITIAL_READING | DECIMAL | 10,2 | 否 | 否 | 初始读数 | | updater | varchar | 64 | 否 | 否 | 更新者 |
| CURRENT_READING | DECIMAL | 10,2 | 否 | 否 | 当前读数 | | update_time | datetime | - | 是 | 否 | 更新时间 |
| READING_CYCLE | VARCHAR | 10 | 否 | 否 | 抄表周期 | | deleted | bit | 1 | 是 | 否 | 是否删除 |
| BOOK_ID | VARCHAR | 20 | 是 | 否 | 册本编号 |
| STATUS | VARCHAR | 10 | 否 | 否 | 状态 |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 |
#### 4.1.3 账户信息表(TB_ACCOUNT) #### 2.2 客户水表模块
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 | ##### WATER_CUSTOMER (客户表)
| 字段名 | 数据类型 | 长度 | 是否必填 | 主键 | 说明 |
|-------|---------|------|---------|-----|------| |-------|---------|------|---------|-----|------|
| ACCOUNT_ID | VARCHAR | 20 | 否 | 是 | 账户编号,主键 | | id | bigint | 20 | 是 | 是 | 客户ID |
| CUSTOMER_ID | VARCHAR | 20 | 否 | 否 | 客户编号,外键 | | customer_no | varchar | 50 | 是 | 否 | 客户编号 |
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 | | name | varchar | 100 | 是 | 否 | 客户名称 |
| BALANCE | DECIMAL | 12,2 | 否 | 否 | 账户余额 | | type | tinyint | 4 | 是 | 否 | 客户类型(1居民,2企业,3政府,4其它) |
| CREDIT_AMOUNT | DECIMAL | 12,2 | 是 | 否 | 信用额度 | | contact | varchar | 50 | 否 | 否 | 联系人 |
| LAST_PAYMENT_DATE | DATE | - | 是 | 否 | 最近缴费日期 | | phone | varchar | 20 | 否 | 否 | 联系电话 |
| STATUS | VARCHAR | 10 | 否 | 否 | 状态 | | address | varchar | 200 | 否 | 否 | 地址 |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 | | id_card | varchar | 20 | 否 | 否 | 身份证号 |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 | | bank_account | varchar | 50 | 否 | 否 | 银行账号 |
| bank_name | varchar | 100 | 否 | 否 | 开户行 |
| status | tinyint | 4 | 是 | 否 | 状态(0正常,1冻结) |
| creator | varchar | 64 | 否 | 否 | 创建者 |
| create_time | datetime | - | 是 | 否 | 创建时间 |
| updater | varchar | 64 | 否 | 否 | 更新者 |
| update_time | datetime | - | 是 | 否 | 更新时间 |
| deleted | bit | 1 | 是 | 否 | 是否删除 |
### 4.2 营收管理相关表 ##### WATER_METER (水表表)
#### 4.2.1 抄表记录表(TB_METER_READING) | 字段名 | 数据类型 | 长度 | 是否必填 | 主键 | 说明 |
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 |
|-------|---------|------|---------|-----|------| |-------|---------|------|---------|-----|------|
| READING_ID | VARCHAR | 20 | 否 | 是 | 抄表记录编号,主键 | | id | bigint | 20 | 是 | 是 | 水表ID |
| METER_ID | VARCHAR | 20 | 否 | 否 | 水表编号,外键 | | meter_no | varchar | 50 | 是 | 否 | 水表编号 |
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 | | customer_id | bigint | 20 | 是 | 否 | 客户ID |
| READING_DATE | DATE | - | 否 | 否 | 抄表日期 | | meter_type | tinyint | 4 | 是 | 否 | 水表类型(1普通,2IC卡,3智能) |
| READING_VALUE | DECIMAL | 10,2 | 否 | 否 | 抄表读数 | | caliber | varchar | 20 | 否 | 否 | 口径规格 |
| PREV_READING_VALUE | DECIMAL | 10,2 | 是 | 否 | 上次读数 | | install_date | date | - | 否 | 否 | 安装日期 |
| WATER_USAGE | DECIMAL | 10,2 | 否 | 否 | 用水量 | | initial_reading | decimal | 10,2 | 是 | 否 | 起始读数 |
| READING_TYPE | VARCHAR | 10 | 否 | 否 | 抄表类型(人工/远传/自报) | | current_reading | decimal | 10,2 | 是 | 否 | 当前读数 |
| READER_ID | VARCHAR | 20 | 是 | 否 | 抄表员编号 | | install_address | varchar | 200 | 否 | 否 | 安装地址 |
| STATUS | VARCHAR | 10 | 否 | 否 | 状态 | | status | tinyint | 4 | 是 | 否 | 状态(0正常,1故障,2停用) |
| REMARK | VARCHAR | 200 | 是 | 否 | 备注 | | reading_cycle | tinyint | 4 | 是 | 否 | 抄表周期(1月,2季,3年) |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 | | description | varchar | 500 | 否 | 否 | 备注说明 |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 | | creator | varchar | 64 | 否 | 否 | 创建者 |
| create_time | datetime | - | 是 | 否 | 创建时间 |
| updater | varchar | 64 | 否 | 否 | 更新者 |
| update_time | datetime | - | 是 | 否 | 更新时间 |
| deleted | bit | 1 | 是 | 否 | 是否删除 |
#### 4.2.2 账单信息表(TB_BILL) #### 2.3 抄表收费模块
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 | ##### WATER_METER_READING (抄表记录表)
| 字段名 | 数据类型 | 长度 | 是否必填 | 主键 | 说明 |
|-------|---------|------|---------|-----|------| |-------|---------|------|---------|-----|------|
| BILL_ID | VARCHAR | 20 | 否 | 是 | 账单编号,主键 | | id | bigint | 20 | 是 | 是 | 抄表记录ID |
| CUSTOMER_ID | VARCHAR | 20 | 否 | 否 | 客户编号,外键 | | meter_id | bigint | 20 | 是 | 否 | 水表ID |
| METER_ID | VARCHAR | 20 | 否 | 否 | 水表编号,外键 | | reading_date | date | - | 是 | 否 | 抄表日期 |
| READING_ID | VARCHAR | 20 | 是 | 否 | 抄表记录编号,外键 | | reading | decimal | 10,2 | 是 | 否 | 本次读数 |
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 | | last_reading | decimal | 10,2 | 是 | 否 | 上次读数 |
| BILL_MONTH | VARCHAR | 7 | 否 | 否 | 账期(格式:YYYY-MM) | | water_usage | decimal | 10,2 | 是 | 否 | 用水量 |
| WATER_USAGE | DECIMAL | 10,2 | 否 | 否 | 用水量 | | reading_type | tinyint | 4 | 是 | 否 | 抄表类型(1人工,2远传,3用户自报) |
| WATER_FEE | DECIMAL | 10,2 | 否 | 否 | 水费金额 | | reader_id | bigint | 20 | 否 | 否 | 抄表员ID |
| OTHER_FEE | DECIMAL | 10,2 | 是 | 否 | 其他费用 | | status | tinyint | 4 | 是 | 否 | 状态(0正常,1异常,2已确认) |
| TOTAL_AMOUNT | DECIMAL | 10,2 | 否 | 否 | 总金额 | | remark | varchar | 500 | 否 | 否 | 备注 |
| DUE_DATE | DATE | - | 否 | 否 | 缴费截止日期 | | photo_url | varchar | 255 | 否 | 否 | 水表照片URL |
| STATUS | VARCHAR | 10 | 否 | 否 | 状态 | | creator | varchar | 64 | 否 | 否 | 创建者 |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 | | create_time | datetime | - | 是 | 否 | 创建时间 |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 | | updater | varchar | 64 | 否 | 否 | 更新者 |
| update_time | datetime | - | 是 | 否 | 更新时间 |
| deleted | bit | 1 | 是 | 否 | 是否删除 |
#### 4.2.3 缴费记录表(TB_PAYMENT) ##### WATER_BILLING (水费账单表)
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 | | 字段名 | 数据类型 | 长度 | 是否必填 | 主键 | 说明 |
|-------|---------|------|---------|-----|------| |-------|---------|------|---------|-----|------|
| PAYMENT_ID | VARCHAR | 20 | 否 | 是 | 缴费记录编号,主键 | | id | bigint | 20 | 是 | 是 | 账单ID |
| BILL_ID | VARCHAR | 20 | 是 | 否 | 账单编号,外键 | | bill_no | varchar | 50 | 是 | 否 | 账单编号 |
| CUSTOMER_ID | VARCHAR | 20 | 否 | 否 | 客户编号,外键 | | customer_id | bigint | 20 | 是 | 否 | 客户ID |
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 | | meter_id | bigint | 20 | 是 | 否 | 水表ID |
| PAYMENT_TYPE | VARCHAR | 10 | 否 | 否 | 缴费类型 | | meter_reading_id | bigint | 20 | 是 | 否 | 抄表记录ID |
| PAYMENT_CHANNEL | VARCHAR | 10 | 否 | 否 | 缴费渠道 | | billing_period | varchar | 20 | 是 | 否 | 账单周期(yyyyMM) |
| PAYMENT_AMOUNT | DECIMAL | 10,2 | 否 | 否 | 缴费金额 | | billing_date | date | - | 是 | 否 | 账单日期 |
| PAYMENT_DATE | DATETIME | - | 否 | 否 | 缴费时间 | | water_usage | decimal | 10,2 | 是 | 否 | 用水量 |
| TRANSACTION_NO | VARCHAR | 30 | 是 | 否 | 交易流水号 | | water_fee | decimal | 10,2 | 是 | 否 | 水费金额 |
| OPERATOR_ID | VARCHAR | 20 | 是 | 否 | 操作员编号 | | sewage_fee | decimal | 10,2 | 是 | 否 | 污水处理费 |
| STATUS | VARCHAR | 10 | 否 | 否 | 状态 | | other_fee | decimal | 10,2 | 否 | 否 | 其他费用 |
| REMARK | VARCHAR | 200 | 是 | 否 | 备注 | | total_amount | decimal | 10,2 | 是 | 否 | 总金额 |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 | | due_date | date | - | 是 | 否 | 缴费截止日期 |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 | | status | tinyint | 4 | 是 | 否 | 状态(0未缴费,1已缴费,2部分缴费,3已逾期) |
| remark | varchar | 500 | 否 | 否 | 备注 |
| creator | varchar | 64 | 否 | 否 | 创建者 |
| create_time | datetime | - | 是 | 否 | 创建时间 |
| updater | varchar | 64 | 否 | 否 | 更新者 |
| update_time | datetime | - | 是 | 否 | 更新时间 |
| deleted | bit | 1 | 是 | 否 | 是否删除 |
### 4.3 表务管理相关表 ## 四、数据库优化设计
#### 4.3.1 水表档案表(TB_METER_ARCHIVE) ### 1. 索引设计策略
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 | - **主键索引**: 每个表都有自增主键
|-------|---------|------|---------|-----|------| - **外键索引**: 对引用外键的字段创建索引
| METER_ARCHIVE_ID | VARCHAR | 20 | 否 | 是 | 水表档案编号,主键 | - **唯一索引**: 对唯一性字段创建唯一索引
| METER_ID | VARCHAR | 20 | 否 | 否 | 水表编号,外键 | - **复合索引**: 对常用查询条件组合创建复合索引
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 | - **覆盖索引**: 针对高频查询设计覆盖索引减少回表操作
| FACTORY | VARCHAR | 50 | 是 | 否 | 生产厂家 |
| PRODUCTION_DATE | DATE | - | 是 | 否 | 生产日期 |
| VALID_PERIOD | INT | - | 是 | 否 | 有效期(月) |
| VERIFICATION_DATE | DATE | - | 是 | 否 | 检定日期 |
| NEXT_VERIFICATION_DATE | DATE | - | 是 | 否 | 下次检定日期 |
| STATUS | VARCHAR | 10 | 否 | 否 | 状态 |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 |
#### 4.3.2 表务工单表(TB_METER_WORKORDER) ### 2. 分表策略
| 字段名 | 数据类型 | 长度 | 是否为空 | 主键 | 描述 | 针对大表采用如下分表策略:
|-------|---------|------|---------|-----|------|
| WORKORDER_ID | VARCHAR | 20 | 否 | 是 | 工单编号,主键 |
| METER_ID | VARCHAR | 20 | 否 | 否 | 水表编号,外键 |
| CUSTOMER_ID | VARCHAR | 20 | 否 | 否 | 客户编号,外键 |
| TENANT_ID | VARCHAR | 20 | 否 | 否 | 租户标识 |
| WORKORDER_TYPE | VARCHAR | 10 | 否 | 否 | 工单类型 |
| WORKORDER_STATUS | VARCHAR | 10 | 否 | 否 | 工单状态 |
| APPLY_DATE | DATE | - | 否 | 否 | 申请日期 |
| PLAN_DATE | DATE | - | 是 | 否 | 计划执行日期 |
| EXECUTE_DATE | DATE | - | 是 | 否 | 实际执行日期 |
| APPLICANT_ID | VARCHAR | 20 | 是 | 否 | 申请人编号 |
| EXECUTOR_ID | VARCHAR | 20 | 是 | 否 | 执行人编号 |
| REASON | VARCHAR | 200 | 是 | 否 | 原因 |
| RESULT | VARCHAR | 200 | 是 | 否 | 结果 |
| CREATE_TIME | DATETIME | - | 否 | 否 | 创建时间 |
| UPDATE_TIME | DATETIME | - | 是 | 否 | 更新时间 |
## 5. 索引设计 - **水表读数表(WATER_METER_READING)**: 按年份分表如WATER_METER_READING_2023
- **水费账单表(WATER_BILLING)**: 按年份分表如WATER_BILLING_2023
- **支付记录表(WATER_PAYMENT)**: 按年份分表如WATER_PAYMENT_2023
- **系统日志表(SYS_OPERATE_LOG)**: 按月份分表如SYS_OPERATE_LOG_202305
为提高系统性能,针对主要查询场景设计了以下索引: ### 3. 缓存策略
### 5.1 主键索引 采用Redis缓存以下数据:
- 所有表的主键字段均建立主键索引
### 5.2 外键索引 - **系统字典**: 缓存系统字典数据,减少数据库查询
- 表关联字段建立外键索引,如 CUSTOMER_ID, METER_ID 等 - **用户权限**: 缓存用户权限数据,提高权限验证效率
- **热点数据**: 缓存常用查询结果,如水价信息、客户基本信息
- **计数器**: 缓存计数器数据,如未读消息数、待办任务数
### 5.3 常用查询字段索引 ## 五、数据库安全设计
- 客户表CUSTOMER_NAME, PHONE, ID_NUMBER
- 水表表METER_NO, BOOK_ID
- 账单表BILL_MONTH, STATUS
- 缴费表PAYMENT_DATE, TRANSACTION_NO
- 抄表表READING_DATE
### 5.4 复合索引 ### 1. 访问控制
- 客户表:(TENANT_ID, CUSTOMER_TYPE)
- 账单表:(TENANT_ID, CUSTOMER_ID, BILL_MONTH)
- 抄表表:(TENANT_ID, METER_ID, READING_DATE)
## 6. 数据安全性设计 - **最小权限原则**: 应用连接数据库账号仅分配必要的操作权限
- **账号隔离**: 按模块分配不同的数据库账号
- **IP限制**: 限制数据库服务器访问IP
- **加密连接**: 使用SSL/TLS加密数据库连接
### 6.1 数据加密 ### 2. 数据加密
- 敏感个人信息(如身份证号码、银行账号等)采用加密存储
- 加密算法采用 AES-256 或同等安全级别的加密方式
### 6.2 权限控制 - **敏感数据加密**: 对身份证号、银行账号等敏感信息进行加密存储
- 采用基于角色的访问控制RBAC模型 - **传输加密**: 数据传输过程加密
- 对不同角色用户设置不同的数据访问权限 - **密码加盐哈希**: 用户密码采用加盐哈希后存储
- 实现行级、列级的细粒度权限控制
### 6.3 数据备份与恢复 ### 3. 审计日志
- 定期全量备份,每日增量备份
- 异地数据灾备,确保数据安全
- 完善的数据恢复机制,支持按时间点恢复
### 6.4 数据审计 - **操作审计**: 记录数据库关键操作日志
- 关键业务操作的数据变更记录 - **登录审计**: 记录数据库登录日志
- 敏感数据访问日志记录 - **变更审计**: 记录重要数据变更日志
- 数据异常访问监控与告警
## 六、数据备份与恢复
### 1. 备份策略
- **全量备份**: 每天凌晨进行一次全量备份
- **增量备份**: 每小时进行一次增量备份
- **归档日志**: 开启binlog日志支持按时间点恢复
- **备份校验**: 定期检查备份数据完整性
### 2. 恢复策略
- **即时恢复**: 支持基于binlog的即时点恢复
- **快速恢复**: 设计快速恢复方案,明确恢复步骤和责任人
- **恢复演练**: 定期进行数据恢复演练,验证备份有效性
## 七、数据库监控与维护
### 1. 性能监控
- **指标监控**: CPU使用率、内存使用、磁盘IO、连接数等
- **慢查询分析**: 监控并分析慢查询日志
- **资源使用分析**: 分析数据库资源使用情况
### 2. 定期维护
- **碎片整理**: 定期进行表碎片整理
- **统计信息更新**: 定期更新统计信息
- **参数优化**: 根据运行情况优化数据库参数

File diff suppressed because it is too large Load Diff

View File

@ -1,180 +1,476 @@
# 福建水务业务系统接口设计 # 福建水务营收系统接口设计
## 目录 ## 一、接口设计概述
- [1. 接口概述](#1-接口概述)
- [2. 外部接口](#2-外部接口)
- [3. 内部接口](#3-内部接口)
- [4. 接口标准](#4-接口标准)
## 1. 接口概述 福建水务营收系统采用RESTful风格设计API接口通过HTTP协议提供服务。系统接口分为内部模块间接口和外部系统集成接口两大类遵循统一的接口规范和安全策略。
福建水务业务系统提供丰富的接口用于与外部系统集成以及系统内部各模块间的数据交换。接口设计遵循标准化、安全性、可扩展性的原则采用REST风格设计支持JSON数据格式。 ## 二、接口设计原则
## 2. 外部接口 ### 1. 设计原则
### 2.1 与银行接口 - **RESTful风格**: 接口遵循REST架构风格
- **版本控制**: 在URL中包含版本信息
- **统一响应**: 统一的响应格式和状态码
- **参数校验**: 严格的参数校验确保数据有效性
- **权限控制**: 基于JWT和RBAC的接口权限控制
- **幂等性**: 确保关键操作的幂等性
- **文档完善**: 详细的接口文档说明
#### 2.1.1 银行代扣接口 ### 2. 接口地址规范
**功能描述**:通过银行系统自动从用户账户中扣除水费。 ```
https://{domain}/api/v{version}/{module}/{resource}/{action}
```
**接口规范** - **domain**: 系统域名
- 接口方式文件交换或WebService - **version**: 接口版本号如v1
- 数据格式文本文件或XML - **module**: 功能模块如user、meter
- 交换频率:每日或实时 - **resource**: 资源名称,通常为复数形式
- **action**: 可选的操作名称
#### 2.1.2 银行实时缴费接口 ### 3. 响应格式规范
**功能描述**:用户在银行柜台、网上银行或手机银行实时缴纳水费。 所有接口统一返回JSON格式数据基本结构如下
**接口规范** ```json
- 接口方式WebService或HTTP接口 {
- 数据格式XML或JSON "code": 0, // 状态码0表示成功非0表示失败
- 交换频率:实时 "msg": "success", // 状态描述
"data": { // 响应数据可能是对象、数组或null
// 具体的业务数据
},
"timestamp": 1621234567890 // 响应时间戳
}
```
### 2.2 支付宝接口 ### 4. 状态码规范
**功能描述**:用户通过支付宝缴纳水费。 | 状态码 | 说明 |
|-------|------|
| 0 | 成功 |
| 1000-1999 | 用户认证相关错误 |
| 2000-2999 | 权限相关错误 |
| 3000-3999 | 参数相关错误 |
| 4000-4999 | 业务相关错误 |
| 5000-5999 | 系统内部错误 |
**接口规范** ## 三、内部模块接口
- 接口方式HTTP接口
- 数据格式JSON
- 交换频率:实时
### 2.3 微信支付接口 ### 1. 用户认证模块接口
**功能描述**:用户通过微信支付缴纳水费。 #### 1.1 用户登录
**接口规范** - **接口地址**: `/api/v1/auth/login`
- 接口方式HTTP接口 - **请求方式**: POST
- 数据格式XML或JSON - **接口描述**: 用户登录认证接口
- 交换频率:实时 - **请求参数**:
### 2.4 短信接口 | 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| username | String | 是 | 用户名 |
| password | String | 是 | 密码 |
| captcha | String | 否 | 验证码 |
| captchaId | String | 否 | 验证码ID |
**功能描述**:向用户发送各类业务通知短信。 - **响应示例**:
**接口规范** ```json
- 接口方式HTTP接口 {
- 数据格式JSON "code": 0,
- 交换频率:实时 "msg": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expireTime": 1621234567890,
"userInfo": {
"userId": 1,
"username": "admin",
"nickname": "管理员",
"avatar": "https://example.com/avatar.jpg",
"permissions": ["sys:user:list", "sys:user:create"]
}
},
"timestamp": 1621234567890
}
```
### 2.5 物联网集抄平台接口 #### 1.2 刷新令牌
**功能描述**:与物联网集抄平台交互,获取智能水表数据。 - **接口地址**: `/api/v1/auth/refresh-token`
- **请求方式**: POST
- **接口描述**: 刷新访问令牌
- **请求参数**:
**接口规范** | 参数名 | 类型 | 是否必填 | 说明 |
- 接口方式HTTP接口或WebService |-------|------|---------|-----|
- 数据格式JSON或XML | refreshToken | String | 是 | 刷新令牌 |
- 交换频率:定时或实时
## 3. 内部接口 - **响应示例**:
### 3.1 用户接口 ```json
{
"code": 0,
"msg": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expireTime": 1621234567890
},
"timestamp": 1621234567890
}
```
#### 3.1.1 用户信息查询接口 ### 2. 水表管理模块接口
**功能描述**:查询用户基本信息。 #### 2.1 水表列表查询
**接口规范** - **接口地址**: `/api/v1/meter/meters`
- 请求方式GET - **请求方式**: GET
- 请求路径:/api/users/{userId} - **接口描述**: 查询水表信息列表
- 返回格式JSON - **请求参数**:
#### 3.1.2 用户信息更新接口 | 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| customerId | Long | 否 | 客户ID |
| meterNo | String | 否 | 水表编号 |
| meterType | Integer | 否 | 水表类型 |
| status | Integer | 否 | 水表状态 |
| pageNo | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页记录数默认10 |
**功能描述**:更新用户基本信息。 - **响应示例**:
**接口规范** ```json
- 请求方式PUT {
- 请求路径:/api/users/{userId} "code": 0,
- 请求/返回格式JSON "msg": "success",
"data": {
"total": 100,
"list": [
{
"id": 1,
"meterNo": "M20230001",
"customerName": "张三",
"meterType": 1,
"meterTypeName": "普通水表",
"installAddress": "福建省福州市台江区",
"currentReading": 120.5,
"status": 0,
"statusName": "正常"
}
],
"pageNum": 1,
"pageSize": 10,
"totalPages": 10
},
"timestamp": 1621234567890
}
```
### 3.2 水表接口 #### 2.2 水表详情查询
#### 3.2.1 水表信息查询接口 - **接口地址**: `/api/v1/meter/meters/{id}`
- **请求方式**: GET
- **接口描述**: 查询水表详细信息
- **路径参数**:
**功能描述**:查询水表基本信息。 | 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| id | Long | 是 | 水表ID |
**接口规范** - **响应示例**:
- 请求方式GET
- 请求路径:/api/meters/{meterId}
- 返回格式JSON
#### 3.2.2 水表读数上传接口 ```json
{
"code": 0,
"msg": "success",
"data": {
"id": 1,
"meterNo": "M20230001",
"customerId": 1,
"customerName": "张三",
"meterType": 1,
"meterTypeName": "普通水表",
"caliber": "DN20",
"installDate": "2023-01-15",
"initialReading": 0,
"currentReading": 120.5,
"installAddress": "福建省福州市台江区",
"status": 0,
"statusName": "正常",
"readingCycle": 1,
"readingCycleName": "月",
"description": "安装在一楼进水口",
"createTime": "2023-01-15 10:00:00",
"updateTime": "2023-05-10 15:30:00"
},
"timestamp": 1621234567890
}
```
**功能描述**:上传水表读数。 ### 3. 抄表管理模块接口
**接口规范** #### 3.1 提交抄表数据
- 请求方式POST
- 请求路径:/api/meters/{meterId}/readings
- 请求/返回格式JSON
### 3.3 账单接口 - **接口地址**: `/api/v1/reading/meter-readings`
- **请求方式**: POST
- **接口描述**: 提交水表读数
- **请求参数**:
#### 3.3.1 账单查询接口 | 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| meterId | Long | 是 | 水表ID |
| reading | Decimal | 是 | 本次读数 |
| readingDate | Date | 是 | 抄表日期 |
| readingType | Integer | 是 | 抄表类型(1人工,2远传,3用户自报) |
| photoUrl | String | 否 | 水表照片URL |
| remark | String | 否 | 备注 |
**功能描述**:查询用户账单信息。 - **响应示例**:
**接口规范** ```json
- 请求方式GET {
- 请求路径:/api/users/{userId}/bills "code": 0,
- 返回格式JSON "msg": "success",
"data": {
"id": 1,
"meterId": 1,
"meterNo": "M20230001",
"readingDate": "2023-05-10",
"reading": 120.5,
"lastReading": 100.0,
"waterUsage": 20.5,
"readingType": 1,
"readingTypeName": "人工抄表",
"status": 0,
"statusName": "正常"
},
"timestamp": 1621234567890
}
```
#### 3.3.2 缴费接口 ### 4. 收费管理模块接口
**功能描述**:处理用户缴费。 #### 4.1 生成水费账单
**接口规范** - **接口地址**: `/api/v1/billing/generate-bills`
- 请求方式POST - **请求方式**: POST
- 请求路径:/api/bills/{billId}/payments - **接口描述**: 根据抄表数据生成水费账单
- 请求/返回格式JSON - **请求参数**:
### 3.4 工单接口 | 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| meterReadingIds | Array | 是 | 抄表记录ID数组 |
| billingPeriod | String | 是 | 账单周期(yyyyMM) |
| dueDate | Date | 是 | 缴费截止日期 |
#### 3.4.1 工单创建接口 - **响应示例**:
**功能描述**:创建业务工单。 ```json
{
"code": 0,
"msg": "success",
"data": {
"successCount": 10,
"failCount": 0,
"billIds": [1, 2, 3]
},
"timestamp": 1621234567890
}
```
**接口规范** #### 4.2 缴费处理
- 请求方式POST
- 请求路径:/api/workorders
- 请求/返回格式JSON
#### 3.4.2 工单状态更新接口 - **接口地址**: `/api/v1/payment/payments`
- **请求方式**: POST
- **接口描述**: 处理用户缴费
- **请求参数**:
**功能描述**:更新工单处理状态。 | 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| billId | Long | 是 | 账单ID |
| paymentAmount | Decimal | 是 | 支付金额 |
| paymentMethod | Integer | 是 | 支付方式(1现金,2银行卡,3微信,4支付宝) |
| paymentDate | Date | 是 | 支付日期 |
| transactionNo | String | 否 | 交易流水号 |
| remark | String | 否 | 备注 |
**接口规范** - **响应示例**:
- 请求方式PUT
- 请求路径:/api/workorders/{workorderId}/status
- 请求/返回格式JSON
## 4. 接口标准 ```json
{
"code": 0,
"msg": "success",
"data": {
"id": 1,
"billId": 1,
"billNo": "B20230510001",
"customerName": "张三",
"paymentAmount": 100.0,
"paymentMethod": 1,
"paymentMethodName": "现金",
"paymentDate": "2023-05-10",
"receiptNo": "R20230510001"
},
"timestamp": 1621234567890
}
```
### 4.1 接口协议 ## 四、外部系统接口
系统接口主要采用以下协议: ### 1. 银行支付接口
- **RESTful API**:适用于系统内部模块间的交互以及移动应用等轻量级客户端 #### 1.1 银行代扣申请
- **WebService**:适用于与外部系统的集成,特别是银行等传统机构
- **消息队列**:适用于异步处理的场景,如批量数据处理、通知推送等
### 4.2 数据格式 - **接口地址**: `/api/v1/external/bank/deduction`
- **请求方式**: POST
- **接口描述**: 向银行发起代扣申请
- **请求参数**:
接口数据主要采用以下格式: | 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| bankCode | String | 是 | 银行代码 |
| billIds | Array | 是 | 账单ID数组 |
| batchNo | String | 是 | 批次号 |
- **JSON**主要用于RESTful API接口结构简单清晰适合Web应用 - **响应示例**:
- **XML**主要用于WebService接口兼容性好适合与传统系统对接
- **文本文件**:主要用于批量数据交换,如银行代扣文件等
### 4.3 接口安全 ```json
{
"code": 0,
"msg": "success",
"data": {
"batchNo": "BK20230510001",
"totalAmount": 1000.0,
"totalCount": 10,
"requestTime": "2023-05-10 10:00:00",
"status": "PROCESSING"
},
"timestamp": 1621234567890
}
```
接口安全采用以下机制: ### 2. 微信支付接口
- **令牌认证**使用JWT(JSON Web Token)进行身份认证 #### 2.1 发起微信支付
- **签名验证**:请求参数签名,确保数据完整性
- **IP白名单**限制接口调用者的IP地址 - **接口地址**: `/api/v1/external/wechat/create-order`
- **传输加密**使用HTTPS协议加密传输数据 - **请求方式**: POST
- **接口限流**:限制单位时间内的请求次数 - **接口描述**: 创建微信支付订单
- **访问日志**:记录所有接口调用情况 - **请求参数**:
| 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| billId | Long | 是 | 账单ID |
| openId | String | 是 | 用户微信openId |
| amount | Decimal | 是 | 支付金额 |
- **响应示例**:
```json
{
"code": 0,
"msg": "success",
"data": {
"prepayId": "wx2023051010000000000000000000",
"nonceStr": "ibuaiVcKdpRxkhJA",
"timeStamp": "1621234567",
"signType": "MD5",
"paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89"
},
"timestamp": 1621234567890
}
```
### 3. 短信通知接口
#### 3.1 发送短信通知
- **接口地址**: `/api/v1/external/sms/send`
- **请求方式**: POST
- **接口描述**: 发送短信通知
- **请求参数**:
| 参数名 | 类型 | 是否必填 | 说明 |
|-------|------|---------|-----|
| phone | String | 是 | 手机号 |
| templateId | String | 是 | 短信模板ID |
| params | Object | 是 | 短信参数 |
- **响应示例**:
```json
{
"code": 0,
"msg": "success",
"data": {
"messageId": "SMS20230510001",
"sendTime": "2023-05-10 10:00:00",
"status": "SENT"
},
"timestamp": 1621234567890
}
```
## 五、接口安全设计
### 1. 认证机制
- **JWT认证**: 使用JWT进行接口认证访问需要权限的接口时必须在请求头中携带有效的Token
- **Token刷新**: 提供Token刷新机制避免频繁登录
- **多端登录控制**: 支持控制同一账号多端登录策略
### 2. 权限控制
- **RBAC权限模型**: 基于角色的权限控制,精细化权限管理
- **接口权限**: 每个接口绑定权限标识,通过注解方式声明
- **数据权限**: 支持部门级、用户级数据权限控制
### 3. 安全防护
- **参数验证**: 严格校验请求参数,防止非法参数
- **SQL注入防护**: 使用参数绑定方式防止SQL注入
- **XSS防护**: 过滤请求参数中的恶意脚本
- **CSRF防护**: 使用Token验证防止CSRF攻击
- **接口限流**: 对关键接口实施限流措施,防止恶意攻击
- **日志追踪**: 记录接口调用日志,便于安全审计
## 六、接口测试策略
### 1. 单元测试
- 编写接口单元测试,验证接口功能正确性
- 使用MockMVC进行Controller层测试
- 使用Mock框架模拟外部依赖
### 2. 集成测试
- 编写接口集成测试,验证接口与其他组件的交互
- 使用测试容器进行数据库测试
- 测试完整业务流程
### 3. 性能测试
- 使用JMeter等工具进行接口性能测试
- 测试接口响应时间
- 测试接口并发处理能力
- 测试系统在高负载下的稳定性
## 七、接口文档管理
### 1. 文档生成
- 使用Swagger/Knife4j自动生成接口文档
- 通过API注解提供详细的接口说明
- 支持在线调试接口
### 2. 版本管理
- 明确的接口版本控制策略
- 接口变更记录
- 兼容性说明
### 3. 文档发布
- 提供在线接口文档站点
- 支持导出PDF、HTML等格式
- 权限控制,限制文档访问范围

View File

@ -1,368 +1,553 @@
# 福建水务业务系统模块设计 # 福建水务营收系统核心模块功能设计
## 目录 ## 一、系统功能模块概览
- [1. 统一平台](#1-统一平台)
- [2. 营收系统](#2-营收系统) 福建水务营收系统是一套现代化的水务管理系统,按照业务功能划分为若干个核心模块,每个模块负责特定的业务处理。本文档详细描述各个核心模块的功能设计。
- [3. 表务系统](#3-表务系统)
- [4. 报装系统](#4-报装系统) ## 二、用户管理模块
- [5. 客户服务](#5-客户服务)
- [6. 系统配置](#6-系统配置) ### 1. 功能概述
## 1. 统一平台 用户管理模块负责系统用户的信息管理、认证授权、密码安全策略等功能,是系统的基础管理模块。
统一平台是客户服务平台的综合展示平台,包含日常工作功能和客户全部的信息,是系统的基础功能模块。 ### 2. 功能列表
### 1.1 单点登录 - 用户信息管理:用户信息的添加、修改、删除、查询
- 用户认证:用户登录认证、密码修改、密码重置
单点登录模块实现用户一次登录即可访问系统中所有应用的功能,主要特点包括: - 角色管理:角色的添加、修改、删除、查询
- 权限管理基于RBAC模型的权限控制
- 支持通过用户名、密码进行身份认证 - 部门管理:部门的添加、修改、删除、查询
- 根据登录人员所在公司的不同,显示不同的系统名称和界面风格 - 岗位管理:岗位的添加、修改、删除、查询
- 提供流程节点到期提醒功能,包括工单及业务流程提醒 - 用户分组:用户按业务需求进行分组管理
- 支持多种安全认证方式,如双因素认证等 - 操作日志:记录用户操作行为
- 登录日志:记录用户登录情况
### 1.2 系统管理
### 3. 业务流程
系统管理模块提供对系统基础参数的配置管理功能,主要包括:
```mermaid
- 组织机构管理:支持多级组织结构的管理,包括集团、分公司、站点等 graph TD
- 员工管理:系统操作人员的基本信息管理 A[用户登录] --> B{验证身份}
- 角色权限管理基于RBAC模型的权限控制实现细粒度的功能权限分配 B -- 成功 --> C[获取用户权限]
- 系统菜单配置:支持自定义系统菜单和功能模块 B -- 失败 --> D[返回错误信息]
- 数据字典管理:维护系统使用的各类基础代码数据 C --> E[生成用户菜单]
- 系统日志管理:记录系统操作日志,支持日志查询和审计 E --> F[进入系统]
```
## 2. 营收系统
### 4. 核心功能说明
营收系统是水务业务系统的核心组成部分,负责抄表、收费、账务处理等关键业务功能。
1. **基于RBAC的权限控制**
### 2.1 系统管理 - 支持菜单权限、功能权限、数据权限三级权限控制
- 灵活的权限分配机制,支持角色继承
营收系统的基础管理功能,包括: - 完善的权限验证机制,确保系统安全
- 水价管理:不同用户类型的水价标准管理,支持阶梯水价 2. **多因素认证**
- 用户档案管理:维护用户基本信息、用水信息、账户信息等 - 支持账号密码认证
- 更名过户管理:处理用户变更、过户等业务 - 支持短信验证码认证
- 注销报停管理:处理用户注销、暂停用水等业务 - 支持验证码认证
- 支持记住我功能
### 2.2 抄表开账
3. **安全策略**
抄表开账模块负责水表读数的采集和账单生成,主要功能包括: - 密码复杂度要求
- 密码定期更换
#### 2.2.1 册本管理 - 账号锁定策略
- 登录异常检测
- 册本信息管理:册本基本信息的维护
- 新卡入册:新增水表加入抄表册本 ## 三、水表管理模块
- 册本调整:调整册本内水表顺序或将水表调整到其他册本
### 1. 功能概述
#### 2.2.2 抄表录入
水表管理模块负责管理用户水表的基础信息、生命周期管理、状态变更等功能,为抄表和收费提供基础数据支持。
- 手工抄表:支持人工录入抄表数据
- 智能抄表:支持从智能水表、远传水表自动获取数据 ### 2. 功能列表
- 自报抄表:支持用户自行报送抄表数据
- 抄表异常处理:处理抄表过程中的异常情况 - 水表信息管理:水表基础信息的添加、修改、删除、查询
- 水表安装管理:记录水表安装信息,生成安装工单
#### 2.2.3 抄表数据审核 - 水表更换管理:记录水表更换信息,生成更换工单
- 水表拆除管理:记录水表拆除信息,生成拆除工单
- 数据校验:对抄表数据进行合理性校验 - 水表维修管理:记录水表维修信息,生成维修工单
- 异常数据标记:标记异常抄表数据 - 水表巡检管理:记录水表巡检信息,生成巡检工单
- 数据审核:对抄表数据进行审核确认 - 水表状态管理:管理水表的运行状态
- 开账处理:根据审核后的抄表数据生成账单 - 批量导入导出:支持批量导入导出水表信息
- 水表档案管理:维护水表的历史记录和档案资料
#### 2.2.4 追加抄表
### 3. 业务流程
- 非周期性抄表:支持在非常规周期进行抄表
- 特殊抄表:支持针对特定用户进行特殊抄表 ```mermaid
graph TD
### 2.3 收费管理 A[新增水表信息] --> B[生成水表编号]
B --> C[关联用户信息]
收费管理模块负责水费的收取和管理,主要功能包括: C --> D[初始化水表状态]
D --> E[安装水表]
#### 2.3.1 柜台收费 E --> F[完成安装]
- 用户查询:支持多种方式查询用户信息和欠费信息 G[水表故障] --> H[生成维修工单]
- 收费处理:支持多种支付方式(现金、银行卡、微信、支付宝等) H --> I[指派维修人员]
- 收费打印:支持打印收费凭证和发票 I --> J[维修处理]
- 预存预付:支持用户预存水费 J --> K[更新水表状态]
#### 2.3.2 柜台结账 L[水表报废] --> M[生成更换工单]
M --> N[拆除旧表]
- 日结:营业员日终结账处理 N --> O[安装新表]
- 交款:营业员交款处理 O --> P[更新水表信息]
- 结账查询:支持查询结账记录 ```
#### 2.3.3 预付款管理 ### 4. 核心功能说明
- 预付款充值:用户预存水费的处理 1. **水表生命周期管理**
- 预付款使用:预存款抵扣水费的处理 - 安装:记录安装时间、安装位置、起始读数等信息
- 预付款退款:预存款退还处理 - 维修:记录维修原因、维修时间、维修人员等信息
- 更换:记录更换原因、更换时间、新旧表信息等
#### 2.3.4 缴费记录查询 - 拆除:记录拆除原因、拆除时间、最终读数等信息
- 缴费查询:支持多条件查询缴费记录 2. **水表分类管理**
- 缴费统计:支持按不同维度统计缴费情况 - 按类型分类普通水表、智能水表、IC卡水表、远传水表等
- 按口径分类DN15、DN20、DN25等规格
### 2.4 账务处理 - 按用途分类:居民用水、商业用水、工业用水等
账务处理模块负责处理各类特殊账务情况,主要功能包括: 3. **水表批量操作**
- 批量导入支持Excel导入水表信息
#### 2.4.1 未销调整 - 批量更新:支持批量更新水表状态
- 批量导出:支持导出水表数据进行分析
- 水量调整:调整未缴纳账单的用水量
- 金额调整:调整未缴纳账单的金额 ## 四、抄表管理模块
- 违约金减免:对未缴纳账单的违约金进行减免
### 1. 功能概述
#### 2.4.2 特殊开账
抄表管理模块负责水表读数的采集、审核、异常处理等功能,是水费计算的基础和前提。
- 特殊情况下的账单生成,如补开账单、特殊计费等
### 2. 功能列表
#### 2.4.3 账务退款
- 抄表计划管理:抄表计划的制定、修改、删除、查询
- 多缴费退款:处理用户多缴水费的退款 - 抄表任务分配:根据抄表员区域分配抄表任务
- 预付款退款:处理用户预存水费的退款 - 抄表数据录入:支持多种方式录入抄表数据
- 违约金退款:处理已收取违约金的退款 - 抄表数据审核:对录入的抄表数据进行审核
- 异常数据处理:对异常抄表数据进行处理
#### 2.4.4 销账调正 - 抄表统计分析:抄表完成率、抄表准确率等统计
- 水量分析:用水量异常分析、同比环比分析
- 对已缴费账单进行调整处理 - 远程抄表管理:自动采集远传水表数据
- 抄表路线管理:规划优化抄表路线
#### 2.4.5 账务处理日志 - 抄表工作量统计:统计抄表员工作量
- 记录所有账务处理操作 ### 3. 业务流程
- 支持账务处理日志查询
```mermaid
### 2.5 发票管理 graph TD
A[制定抄表计划] --> B[生成抄表任务]
发票管理模块负责水费发票的管理,主要功能包括: B --> C[分配抄表员]
C --> D[抄表数据采集]
#### 2.5.1 库存管理 D --> E{数据审核}
E -- 正常 --> F[生成水费账单]
- 发票入库:新发票的入库管理 E -- 异常 --> G[异常处理]
- 发票领用:营业员领用发票管理 G --> H[重新抄表]
- 发票作废:发票作废处理 H --> E
G -- 确认异常 --> I[人工核实]
#### 2.5.2 发票打印 I --> F
```
- 普通发票:打印纸质发票
- 电子发票:生成和发送电子发票 ### 4. 核心功能说明
#### 2.5.3 发票查询 1. **多种抄表方式支持**
- 人工抄表:通过手持终端录入数据
- 发票信息查询:支持多条件查询发票 - 远程抄表:自动采集远传水表数据
- 发票统计:按不同维度统计发票开具情况 - 用户自报用户通过网站、APP自行上报读数
- 图片识别:通过上传水表照片自动识别读数
#### 2.5.4 发票调整
2. **异常数据处理**
- 发票重开:发票信息错误后的重新开具 - 零水量:连续几个月无用水的异常处理
- 发票补开:补开发票处理 - 用水量突增:较往常用水量突然增加的异常处理
- 用水量突减:较往常用水量突然减少的异常处理
## 3. 表务系统 - 重复录入:相同水表多次录入数据的处理
- 倒走水量:当前读数小于上次读数的处理
表务系统负责水表的全生命周期管理,包括水表购置、安装、维修、更换等业务。
3. **抄表质量控制**
### 3.1 表务工单 - 抄表准确率考核
- 抄表覆盖率考核
表务工单模块负责处理各类表务作业,主要功能包括: - 抄表及时率考核
- 抄表异常处理率考核
#### 3.1.1 换表工单
## 五、收费管理模块
- 换表计划:制定水表更换计划
- 换表申请:处理水表更换申请 ### 1. 功能概述
- 换表施工:记录水表更换施工情况
- 换表验收:验收水表更换结果 收费管理模块负责水费的计算、收取、欠费管理等功能,是系统的核心业务模块。
#### 3.1.2 移表工单 ### 2. 功能列表
- 移表申请:处理水表移位申请 - 水费计算:根据抄表数据和水价政策计算水费
- 移表施工:记录水表移位施工情况 - 水费账单生成:生成用户水费账单
- 移表验收:验收水表移位结果 - 水费收取:多渠道收取水费
- 催缴管理:欠费催缴通知和管理
#### 3.1.3 拆表工单 - 优惠政策管理:各类用户优惠政策的设置和应用
- 水价管理:不同用户类型、阶梯水价的管理
- 拆表申请:处理拆除水表申请 - 缴费记录管理:记录和查询用户缴费历史
- 拆表施工:记录拆除水表施工情况 - 收费统计分析:收费率、收费金额等统计分析
- 拆表确认:确认水表拆除结果 - 坐收中心管理:营业厅收费管理
- 稽查管理:对违规用水行为的稽查和处理
#### 3.1.4 复装工单
### 3. 业务流程
- 复装申请:处理水表复装申请
- 复装施工:记录水表复装施工情况 ```mermaid
- 复装验收:验收水表复装结果 graph TD
A[抄表数据确认] --> B[计算水费]
#### 3.1.5 校表工单 B --> C[生成账单]
C --> D[通知用户]
- 校表申请:处理水表校验申请 D --> E{用户缴费}
- 校表实施:记录水表校验情况 E -- 按时缴费 --> F[完成缴费]
- 校表结果:记录水表校验结果 E -- 逾期未缴 --> G[催缴通知]
G --> H{是否缴费}
### 3.2 表务仓库 H -- 是 --> F
H -- 否 --> I[强制催缴]
表务仓库模块负责水表的仓储管理,主要功能包括: I --> J{是否缴费}
J -- 是 --> F
#### 3.2.1 新表入库 J -- 否 --> K[停水处理]
K --> L{是否缴费}
- 采购登记:记录水表采购信息 L -- 是 --> M[恢复供水]
- 入库验收:验收入库水表 M --> F
- 入库登记:登记水表入库信息 ```
#### 3.2.2 水表领用 ### 4. 核心功能说明
- 领用申请:处理水表领用申请 1. **多种收费方式支持**
- 领用审核:审核水表领用申请 - 营业厅收费:用户前往营业厅缴费
- 领用发放:记录水表领用发放情况 - 银行代扣:通过银行自动代扣水费
- 网上支付通过网站、APP在线支付
#### 3.2.3 水表出库 - 微信支付:通过微信公众号、小程序支付
- 支付宝支付:通过支付宝支付
- 出库申请:处理水表出库申请 - 预存抵扣:预存水费自动抵扣
- 出库审核:审核水表出库申请 - 第三方代收:通过合作的第三方机构代收
- 出库登记:登记水表出库信息
2. **水价政策管理**
#### 3.2.4 水表退库 - 基础水价设置
- 阶梯水价设置
- 退库申请:处理水表退库申请 - 特殊时期水价调整
- 退库检验:检验退库水表 - 不同用户类型水价设置
- 退库登记:登记水表退库信息 - 季节性水价调整
#### 3.2.5 水表报废 3. **欠费管理**
- 欠费记录管理
- 报废申请:处理水表报废申请 - 催缴通知管理
- 报废审核:审核水表报废申请 - 停水管理
- 报废处理:处理报废水表 - 恢复供水管理
- 滞纳金计算
#### 3.2.6 水表生命周期查询
## 六、账务管理模块
- 水表状态查询:查询水表当前状态
- 水表历史记录:查询水表历史使用、维修记录 ### 1. 功能概述
## 4. 报装系统 账务管理模块负责系统财务账务处理,包括收费入账、销账、退费等功能,是系统财务管理的核心模块。
报装系统负责新用户的报装立户管理,主要功能包括: ### 2. 功能列表
### 4.1 报装流程 - 收费入账:收费记录的财务入账处理
- 销账管理:已收费用的销账处理
报装流程模块负责新用户报装业务的全流程管理,主要功能包括: - 退费管理:退费申请、审批、执行
- 坏账管理:无法收回的水费坏账处理
#### 4.1.1 报装申请 - 日结管理:每日收费的结算和统计
- 月结管理:每月收费的结算和统计
- 用户申请:处理用户报装申请 - 年结管理:年度收费的结算和统计
- 材料审核:审核报装申请材料 - 账务调整:账务数据的调整和修正
- 现场勘查:组织现场勘查评估 - 收费报表:各类收费统计报表生成
- 财务对账:与财务系统的对账功能
#### 4.1.2 方案设计
### 3. 业务流程
- 设计方案:制定管网接入方案
- 设计审核:审核设计方案 ```mermaid
- 费用估算:估算报装费用 graph TD
A[收费记录] --> B[收费入账]
#### 4.1.3 合同签订 B --> C{是否需要退费}
C -- 是 --> D[申请退费]
- 费用通知:通知用户缴纳费用 D --> E[退费审批]
- 合同签订:与用户签订供水合同 E --> F[执行退费]
- 收费管理:管理报装相关费用 F --> G[退费入账]
C -- 否 --> H[正常销账]
#### 4.1.4 施工管理 G --> H
H --> I[日结处理]
- 施工计划:制定施工计划 I --> J[月结处理]
- 施工实施:记录施工情况 J --> K[年结处理]
- 施工验收:验收施工结果 ```
#### 4.1.5 开户通水 ### 4. 核心功能说明
- 水表安装:安装用户水表 1. **账务处理流程**
- 用户立户:在系统中建立用户档案 - 收费入账:记录收费金额、收费方式、收费时间等
- 通水确认:确认用户通水情况 - 销账处理:标记账单已缴费,更新账务状态
- 退费处理:处理用户退费申请,执行退费操作
### 4.2 一户一表管理 - 调账处理:对账务数据进行调整和修正
一户一表管理模块负责实施"一户一表"改造,主要功能包括: 2. **财务统计功能**
- 日收费统计:统计每日收费情况
#### 4.2.1 改造计划 - 月收费统计:统计每月收费情况
- 年收费统计:统计年度收费情况
- 制定改造计划:规划"一户一表"改造计划 - 收费方式统计:按收费方式统计收费情况
- 用户协商:与用户协商改造事宜 - 欠费率统计:统计欠费率和欠费金额
- 费用估算:估算改造费用
3. **财务报表功能**
#### 4.2.2 改造实施 - 收费日报表:每日收费情况报表
- 收费月报表:每月收费情况报表
- 施工管理:管理改造施工 - 收费年报表:年度收费情况报表
- 水表安装:安装单户水表 - 欠费统计报表:欠费情况统计报表
- 验收管理:验收改造结果 - 坏账统计报表:坏账情况统计报表
#### 4.2.3 用户转换 ## 七、票据管理模块
- 数据转换:处理用户数据转换 ### 1. 功能概述
- 账务处理:处理改造前后的账务关系
- 使用确认:确认新表使用情况 票据管理模块负责水费发票的开具、管理、查询等功能,确保票据管理的规范性和合法性。
## 5. 客户服务 ### 2. 功能列表
客户服务模块提供多渠道的客户服务功能,主要包括: - 发票开具:为用户开具水费发票
- 发票作废:对错误发票进行作废处理
### 5.1 微信、支付宝服务窗 - 发票查询:查询发票开具情况
- 发票补打:补打发票
- 账户绑定:支持用户绑定水务账户 - 发票领用管理:管理发票的领用和库存
- 用水查询:查询用水情况 - 发票使用统计:统计发票使用情况
- 水费查询:查询水费信息 - 电子发票管理:管理电子发票的开具和发送
- 在线缴费:支持在线缴纳水费 - 票据日志:记录票据操作日志
- 业务办理:支持在线办理业务
### 3. 业务流程
### 5.2 历史账单
```mermaid
- 账单查询:查询历史账单信息 graph TD
- 用水分析:分析用水趋势 A[用户缴费] --> B{需要发票}
- 账单推送:定期推送账单信息 B -- 需要 --> C[选择发票类型]
C --> D{电子发票/纸质发票}
### 5.3 电子发票 D -- 电子发票 --> E[生成电子发票]
E --> F[发送至用户邮箱/手机]
- 发票申请:申请开具电子发票 D -- 纸质发票 --> G[打印纸质发票]
- 发票查询:查询已开具发票 G --> H[交付用户]
- 发票下载:下载电子发票 B -- 不需要 --> I[完成缴费]
- 发票推送:推送电子发票 F --> I
H --> I
### 5.4 营业网点 ```
- 网点查询:查询营业网点信息 ### 4. 核心功能说明
- 网点导航:提供到营业网点的导航
- 业务指南:提供各网点业务办理指南 1. **发票管理功能**
- 发票开具:根据用户缴费情况开具发票
### 5.5 账户流水 - 发票作废:对错误发票进行作废处理
- 发票重打:对损坏的发票进行重新打印
- 流水查询:查询账户交易流水 - 发票查询:查询发票开具情况和历史记录
- 明细下载:下载流水明细
2. **多种发票类型支持**
### 5.6 微网厅 - 普通纸质发票
- 增值税普通发票
- 用户注册:用户注册微网厅账号 - 增值税专用发票
- 信息查询:查询用水、缴费信息 - 电子发票
- 业务办理:在线办理各类业务
- 用户反馈:提交意见建议 3. **电子发票功能**
- 电子发票生成
## 6. 系统配置 - 电子发票发送(邮件、短信等)
- 电子发票查验
系统配置模块提供各类系统参数的配置管理功能,主要包括: - 电子发票下载和打印
### 6.1 水表参数 ## 八、营业网点管理模块
- 水表厂家:管理水表生产厂商信息 ### 1. 功能概述
- 水表型号:管理水表型号规格
- 水表量程:管理水表量程规格 营业网点管理模块负责管理水务公司的营业网点、窗口、人员等信息,为用户提供线下服务支持。
### 6.2 地址参数 ### 2. 功能列表
- 行政区划:管理行政区划信息 - 营业网点管理:网点的添加、修改、删除、查询
- 地址编码:管理地址编码规则 - 窗口管理:服务窗口的管理和配置
- 地址库:维护标准地址库 - 营业时间管理:网点营业时间的设置
- 人员排班管理:营业人员的排班安排
### 6.3 价格体系 - 业务办理统计:各网点业务办理情况统计
- 网点评价管理:客户对网点服务的评价管理
- 用水性质:管理不同用水性质的分类 - 客户查询:查询客户相关信息
- 水价标准:管理不同用水性质的水价标准 - 业务办理:办理各类水务业务
- 阶梯水价:管理阶梯水价设置 - 现金管理:网点现金收取和管理
- 调价管理:管理水价调整流程
### 3. 业务流程
### 6.4 基本配置
```mermaid
- 系统参数:管理系统基本参数 graph TD
- 业务规则:管理业务处理规则 A[客户到访] --> B[取号排队]
- 打印模板:管理各类打印模板 B --> C[窗口叫号]
- 短信模板:管理短信发送模板 C --> D[业务受理]
D --> E{是否需要缴费}
E -- 是 --> F[缴费处理]
F --> G[开具票据]
G --> H[业务完成]
E -- 否 --> H
```
### 4. 核心功能说明
1. **营业网点管理功能**
- 网点信息管理:地址、联系方式、营业时间等
- 窗口设置:服务类型、窗口编号等
- 人员安排:窗口工作人员安排
- 业务统计:业务办理量、收费金额等统计
2. **排队叫号系统**
- 取号管理:客户取号
- 叫号管理:窗口叫号
- 业务分类:不同业务类型的排队管理
- 优先级设置:特殊客户优先处理
3. **网点业务管理**
- 业务类型管理:可办理的业务类型
- 业务流程管理:各类业务的办理流程
- 业务量统计:统计各类业务办理情况
- 服务质量评价:客户对服务的评价管理
## 九、报表管理模块
### 1. 功能概述
报表管理模块负责系统各类统计报表的生成、查询、导出等功能,为管理决策提供数据支持。
### 2. 功能列表
- 营收报表:收费情况统计报表
- 抄表报表:抄表情况统计报表
- 用水分析报表:用水量分析报表
- 客户报表:客户信息统计报表
- 综合分析报表:多维度综合分析报表
- 自定义报表:支持自定义报表配置
- 报表导出报表数据导出为Excel、PDF等格式
- 报表打印:报表打印功能
- 数据可视化:图表、仪表盘等可视化展示
### 3. 业务流程
```mermaid
graph TD
A[选择报表类型] --> B[设置查询条件]
B --> C[生成报表]
C --> D{操作选择}
D -- 导出 --> E[选择导出格式]
E --> F[保存报表文件]
D -- 打印 --> G[报表打印]
D -- 数据分析 --> H[数据钻取分析]
```
### 4. 核心功能说明
1. **预设报表功能**
- 营收报表:按日、周、月、年统计收费情况
- 抄表报表:抄表率、抄表异常情况统计
- 欠费报表:欠费金额、欠费率等统计
- 用水分析报表:按用户类型、区域等分析用水情况
2. **报表定制功能**
- 自定义报表字段
- 自定义报表条件
- 自定义报表格式
- 自定义报表展示方式
3. **数据可视化功能**
- 折线图:展示趋势变化
- 柱状图:比较数量差异
- 饼图:展示占比情况
- 地图:展示地理分布
- 仪表盘:直观展示关键指标
## 十、系统管理模块
### 1. 功能概述
系统管理模块负责系统基础配置、参数设置、日志管理等功能,确保系统正常运行。
### 2. 功能列表
- 菜单管理:系统菜单的添加、修改、删除、查询
- 字典管理:系统字典的管理
- 参数配置:系统参数的配置
- 通知公告:系统通知和公告管理
- 系统日志:记录系统操作日志
- 登录日志:记录用户登录日志
- 在线用户:查看当前在线用户
- 定时任务:系统定时任务的管理
- 系统监控:监控系统运行状态
- 数据备份:系统数据备份和恢复
### 3. 业务流程
```mermaid
graph TD
A[系统运行] --> B[记录系统日志]
A --> C[记录操作日志]
A --> D[记录登录日志]
A --> E[执行定时任务]
E --> F[备份数据]
B --> G[日志归档]
C --> G
D --> G
G --> H[日志分析]
```
### 4. 核心功能说明
1. **系统配置管理**
- 系统参数配置:各类系统参数的设置
- 字典管理:系统字典数据的维护
- 菜单管理:系统菜单的维护
- 接口管理:系统接口的配置和管理
2. **系统监控功能**
- 服务器监控监控服务器CPU、内存、磁盘等使用情况
- 数据库监控:监控数据库连接、性能等情况
- 缓存监控监控Redis缓存使用情况
- 在线用户监控:监控当前在线用户情况
3. **日志管理功能**
- 操作日志:记录用户操作行为
- 登录日志:记录用户登录情况
- 系统日志:记录系统运行日志
- 异常日志:记录系统异常情况
## 十一、集成接口模块
### 1. 功能概述
集成接口模块负责与外部系统的数据交换和集成,实现系统间的无缝连接。
### 2. 功能列表
- 银行支付接口:与银行系统对接,实现水费代扣
- 微信支付接口:与微信支付系统对接
- 支付宝支付接口:与支付宝支付系统对接
- 短信平台接口:与短信平台对接,发送短信通知
- 电子发票接口:与税务系统对接,开具电子发票
- GIS系统接口与地理信息系统对接
- 物联网平台接口:与物联网平台对接,采集智能水表数据
- 数据交换接口:与其他业务系统进行数据交换
### 3. 业务流程
```mermaid
graph TD
A[系统事件触发] --> B{接口类型}
B -- 支付接口 --> C[发送支付请求]
C --> D[接收支付结果]
D --> E[更新支付状态]
B -- 短信接口 --> F[组装短信内容]
F --> G[调用短信发送]
G --> H[记录发送结果]
B -- 数据同步接口 --> I[准备同步数据]
I --> J[调用同步接口]
J --> K[处理同步结果]
```
### 4. 核心功能说明
1. **支付接口集成**
- 银行代扣接口:实现水费银行代扣功能
- 微信支付接口:通过微信支付水费
- 支付宝支付接口:通过支付宝支付水费
- 支付结果处理:处理支付回调,更新支付状态
2. **通知接口集成**
- 短信通知:抄表通知、缴费通知、催缴通知等
- 邮件通知:电子账单、电子发票等
- 微信通知:通过微信公众号、小程序推送通知
- APP推送通过移动APP推送通知
3. **数据采集接口集成**
- 智能水表数据采集:远程采集智能水表读数
- 物联网设备数据采集:采集物联网设备监测数据
- 实时数据监控:监控关键设备的实时运行数据
- 数据异常预警:对异常数据进行预警

View File

@ -172,131 +172,4 @@
- 增加图表和示例,提高文档可读性 - 增加图表和示例,提高文档可读性
- 采用简洁明了的语言,避免晦涩难懂的技术术语 - 采用简洁明了的语言,避免晦涩难懂的技术术语
- 对关键概念和术语提供清晰的定义和解释 - 对关键概念和术语提供清晰的定义和解释
# 福建水务业务系统概述
## 目录
- [1. 系统背景](#1-系统背景)
- [2. 系统目标](#2-系统目标)
- [3. 系统范围](#3-系统范围)
- [4. 系统用户](#4-系统用户)
- [5. 系统特点](#5-系统特点)
- [6. 系统价值](#6-系统价值)
## 1. 系统背景
福建水投集团注册资本46亿元经营范围为水利项目投资及管理水利工程建筑设计与施工及相关技术服务水资源开发与利用水的生产与供应、污水处理及其再生利用水生态产业投资、运营及相关配套服务水利设施周边配套土地等资源综合开发利用等。
在全省40多个县市区投资重大水利项目超过450亿元实现全省全覆盖大幅控制我省岛屿、沿海经济发达以及经济发展潜力大、后劲足的地区水资源、水务市场。目前集团公司总资产超173亿元净资产超70亿元拥有全级次子公司超过67家职工人数超3500人。
当前,福建水投集团针对营收、新装、表务等核心业务系统,在集团下属各水务公司中,在用的业务系统均来自不同的系统集成商,存在业务不统一、软件功能不完善、自动化数据处理水平低、升级维护工作量大、自建硬件环境导致运营成本过高等弊端,加上由于业务、数据过度分散,不利于集团化的集中管理、统一资源管理理念。
随着互联网技术的飞速发展以及市场竞争日益激烈的今天集中企业优势、发展企业已成社会共识。通过应用系统集中部署可以在此基础上实现先进的集团化管理理念。目前集团已经搭建起私有云需要在信息系统建设方面统一构建SaaS模式服务平台服务于集团、各分公司、营业网点以便于实现集中式生产控制、集中式财务控制、集中物资管理、公司领导对下属各水务公司的集中管理和综合报表上报、分析的功能。
## 2. 系统目标
福建水务业务系统是以客户关系数据库为核心和基础的综合管理平台,包含客户完整的资料和数据,实现客户全生命周期管理。系统建设的主要目标包括:
1. **统一资源服务**在集团现有基础上建设统一的数字水务系统运行资源环境为集团下属各分公司提供日常业务的IT运营环境服务。
2. **统一平台应用**:根据业务需要,在集团所属分公司在用的营收、新装、表务系统基础上进行全面改造升级,统一业务,集中汇集数据,形成统一、多租户管理模式的营业收费系统。集团所属各分公司不再独立建设业务系统基础设施和开发应用系统,实现"一个业务平台、一网通平台"的建设目标。
3. **统一业务平台功能**:建设平台具备集团、分公司、分公司所属业务站点多租户管理模式,实现对用水客户的营收业务、新装业务、表务业务管理功能;各租户之间独立,数据统一汇总到集团数据中心。
4. **统一对外接口**:整合统一用户资源,与相关业务系统对接提供标准的接口和能力。
5. **统一对外服务**:统一对外服务标准,为百姓提供便民服务,做到从"群众跑路"到"数据跑腿"的转变,简化百姓办事流程、提高办事效率、提升百姓的获得感,塑造良好的企业形象。
通过系统的建设,实现福建省水投数字科技有限公司客户服务管理领域的业务流程梳理再造、组织架构的优化、管理制度的建设、绩效考核标准的建设。构建以客户为中心的客户服务平台,将客户的所有信息进行有机的关联,方便企业对客户信息进行综合分析和管理,为客户提供更多、更便捷、更主动的个性化服务,提高客户服务的质量和客户满意度。
## 3. 系统范围
福建水务业务系统的功能范围涵盖客户服务全生命周期,主要包括以下功能模块:
1. **统一平台**:员工管理、权限管理、组织机构、系统菜单配置、角色配置、水表厂家、水表型号、水表量程等。
2. **营收系统**
- 价格管理:调价、历史价格查询
- 用户档案管理:客户信息、表卡信息、账户信息、联系人信息、更名过户、注销报停
- 抄表开账:册本管理、新卡入册、册本调动、抄表录入、抄表数据审核、追加抄表
- 收费管理:柜台收费、柜台结账、预付款管理、凭证收费、结账记录查询、缴费记录查询
- 账务处理:未销调整、违约金减免、特殊开账、账务退款、销账调正、预付款退款、违约金退款、待处理管理、账务处理日志查询
- 发票管理:库存管理、发票打印、发票查询、发票调整
- 综合查询:用户综合查询、报表查询、欠费查询
3. **表务系统**
- 表务工单:换表计划、换表工单、移表工单、拆表工单、复装工单、校表工单
- 表务仓库:新表入库、水表领用、水表出库、水表退库、水表生命周期查询
4. **报装系统**
- 报装立户:一户一表
- 报装流程管理
5. **客户服务**
- 微信、支付宝服务窗
- 历史账单查询
- 电子发票
- 营业网点查询
- 账户流水查询
- 微网厅
6. **外部接口**
- 银行接口
- 支付宝/微信接口
- 短信接口
- 系统对外查询接口
## 4. 系统用户
福建水务业务系统的用户主要包括以下几类:
1. **集团管理人员**:负责对全集团业务数据进行统计分析、监督管理。
2. **分公司管理人员**:负责分公司业务管理、数据统计分析。
3. **营业网点工作人员**:负责日常营业收费、客户服务等工作。
4. **抄表员**:负责水表抄读、录入等工作。
5. **表务人员**:负责水表安装、更换、维修等工作。
6. **报装人员**:负责新用户报装、立户等工作。
7. **系统管理员**:负责系统参数配置、用户权限管理等工作。
8. **最终用户**:通过微信、支付宝服务窗、微网厅等渠道使用系统服务的水务客户。
## 5. 系统特点
福建水务业务系统具有以下特点:
1. **多租户架构**:支持集团、分公司、营业站点多层级租户管理模式,各租户数据相互隔离,同时数据可统一汇总到集团数据中心。
2. **一体化设计**:将营收、表务、报装等业务系统集成为一体,实现业务流程的无缝衔接。
3. **全渠道服务**支持营业厅柜台、自助终端、移动APP、微信小程序、支付宝服务窗等多种服务渠道。
4. **智能化应用**:引入智能抄表、智能分析等功能,提高业务处理效率和准确性。
5. **标准化接口**:提供标准化的接口,支持与银行、支付平台、短信平台等外部系统的集成。
6. **安全可靠**:系统满足安全等保三级要求,确保系统和数据的安全性。
7. **高性能扩展**系统支持100万客户规模满足企业未来3-5年的业务发展需求。
## 6. 系统价值
福建水务业务系统的建设将为企业带来以下价值:
1. **降低IT成本**:通过统一平台建设,减少重复投资,降低硬件采购、系统运维等成本。
2. **提高管理效率**:实现业务流程优化再造,提高业务处理效率,降低人力成本。
3. **增强数据价值**:实现数据的集中管理和统一分析,为管理决策提供有力支持。
4. **提升服务质量**:为客户提供便捷、多渠道的服务方式,提高客户满意度。
5. **支持业务创新**:为业务创新提供灵活的技术支持,增强企业市场竞争力。
6. **促进企业发展**:支持企业规模扩张,为福建水投集团打造成水利行业龙头企业提供信息化支撑。

View File

@ -1,161 +1,382 @@
# 福建水务业务系统架构设计 # 福建水务营收系统架构概要设计
## 目录 ## 一、系统架构概述
- [1. 系统架构概述](#1-系统架构概述)
- [2. 技术架构](#2-技术架构)
- [3. 应用架构](#3-应用架构)
- [4. 数据架构](#4-数据架构)
- [5. 安全架构](#5-安全架构)
- [6. 部署架构](#6-部署架构)
- [7. 接口架构](#7-接口架构)
## 1. 系统架构概述 福建水务营收系统采用现代化的分层架构设计基于RuoYi-Vue-Pro和yudao-ui-admin-vue3框架进行开发实现了前后端分离、模块化设计、微服务架构等技术特点提供了高性能、高可靠性、高安全性的水务营收管理解决方案。
福建水务业务系统采用多层架构设计,旨在支持集团化的集中管理、统一资源管理的业务需求。系统架构的设计目标是实现"一个业务平台、一网通平台"的建设目标,为集团及下属各分公司提供统一的营业收费系统。 ## 二、总体架构设计
系统架构主要包括以下核心特点: ### 1. 系统架构图
- 多租户架构:支持集团、分公司、营业站点的多层级租户管理模式
- 统一资源服务:统一的数字水务系统运行资源环境
- 统一平台应用:统一业务流程,集中汇集数据
- 统一对外接口:提供标准的接口和能力
![系统架构图](./images/system_architecture_overview.png) ```mermaid
graph TD
Client[客户端层] --> FrontEnd[前端应用层]
FrontEnd --> Gateway[网关层]
Gateway --> Application[应用服务层]
Application --> Infrastructure[基础设施层]
Application --> Database[(数据存储层)]
subgraph 客户端层
WebBrowser[Web浏览器]
MobileApp[移动应用]
WeChat[微信小程序]
end
subgraph 前端应用层
Vue3[Vue3前端框架]
ElementPlus[Element Plus组件库]
VueRouter[Vue Router]
Pinia[Pinia状态管理]
end
subgraph 网关层
SpringCloudGateway[Spring Cloud Gateway]
Auth[认证鉴权]
RateLimit[限流]
LoadBalance[负载均衡]
end
subgraph 应用服务层
UserModule[用户管理模块]
MeterModule[水表管理模块]
ReadingModule[抄表管理模块]
BillingModule[收费管理模块]
AccountModule[账务管理模块]
ReportModule[报表管理模块]
SystemModule[系统管理模块]
end
subgraph 基础设施层
Redis[(Redis缓存)]
MQ[消息队列]
Storage[文件存储]
Schedule[定时任务]
end
subgraph 数据存储层
MySQL[(MySQL数据库)]
MongoDB[(MongoDB)]
end
```
## 2. 技术架构 ### 2. 技术架构描述
系统采用B/S和M/S相结合的架构模式具体技术栈如下 #### 2.1 前端技术架构
### 2.1 服务端 福建水务营收系统前端基于yudao-ui-admin-vue3框架开发主要技术组件包括
- 操作系统Windows Server 2012 64位简体中文版及以上版本
- 数据库SQL Server 2012 64位简体中文版及以上版本
- 应用服务器基于J2EE架构的应用服务器
- 中间件ESB企业服务总线实现系统间的数据交换与共享
### 2.2 客户端 - **框架**Vue 3.x
- 操作系统兼容Windows 7/8/10等主流操作系统 - **UI组件库**Element Plus
- 浏览器兼容IE、Chrome等主流浏览器 - **路由管理**Vue Router 4.x
- 移动端支持Android系统 - **状态管理**Pinia
- **HTTP客户端**Axios
- **构建工具**Vite
- **代码规范**ESLint + Prettier
### 2.3 技术特性 #### 2.2 后端技术架构
- 单点登录:实现统一平台的单点登录功能
- 数据交换基于ESB的系统内部数据交换与共享
- 统一报表平台:支持自定义报表设计与生成
- 安全保障:满足安全等保三级要求
- 性能规格支持200并发用户50并发移动设备系统响应时间不超过5秒
- 扩展容量支持100万客户的业务量满足企业3-5年的业务发展需求
## 3. 应用架构 后端系统基于RuoYi-Vue-Pro框架开发主要技术组件包括
系统应用架构基于业务域划分,主要包括以下核心应用模块: - **框架**Spring Boot 2.7.x
- **ORM框架**MyBatis Plus 3.5.x
- **权限框架**Spring Security
- **缓存**Redis
- **数据库**MySQL 8.0
- **消息队列**内置基于Redis的消息队列
- **文档**Swagger / Knife4j
- **工作流**Flowable
- **定时任务**基于XXLJOB的分布式任务调度
### 3.1 统一平台 ## 三、系统分层设计
- 单点登录
- 系统管理(组织机构、权限管理、角色配置等)
- 流程节点提醒
### 3.2 营收系统 ### 1. 应用分层
- 系统管理
- 抄表开账(册本管理、抄表录入、抄表数据审核等)
- 收费管理(柜台收费、结账、预付款管理等)
- 账务处理(未销调整、违约金减免、特殊开账等)
- 发票管理
### 3.3 客户服务 ```
- 微信、支付宝服务窗 +---------------------------+
- 历史账单查询 | 表现层UI层 |
- 电子发票 +---------------------------+
- 营业网点查询 | 应用层API层 |
- 账户流水查询 +---------------------------+
- 微网厅 | 业务层Service层 |
+---------------------------+
| 数据访问层DAO层 |
+---------------------------+
| 数据持久层 |
+---------------------------+
```
### 3.4 表务系统 - **表现层**:负责与用户的交互,包括页面展示、数据校验等
- 表务工单(换表、移表、拆表、复装、校表等) - **应用层**提供对外的API接口处理请求参数返回响应结果
- 表务仓库(入库、领用、出库、退库、报废等) - **业务层**:实现业务逻辑,处理业务规则和流程
- 水表生命周期管理 - **数据访问层**提供数据访问接口进行数据CRUD操作
- **数据持久层**:负责数据的持久化存储
### 3.5 报装管理 ### 2. 模块划分
- 报装流程
- 一户一表管理
### 3.6 外部集成 系统按照业务功能划分为以下核心模块:
- 银行接口
- 支付接口
- 短信接口
- 外部查询接口
## 4. 数据架构 ```
+------------------------------------------+
| 系统共享模块 |
+------------------------------------------+
| 用户 | 水表 | 抄表 | 收费 | 账务 |
| 管理 | 管理 | 管理 | 管理 | 管理 |
+------------------------------------------+
| 票据 | 营业 | 报表 | 系统 | 集成 |
| 管理 | 网点 | 管理 | 管理 | 接口 |
+------------------------------------------+
| 基础设施模块 |
+------------------------------------------+
```
系统数据架构基于客户关系数据库为核心和基础,实现客户全生命周期管理。 ## 四、核心模块设计
### 4.1 数据分层 ### 1. 用户管理模块
- 数据采集层:负责从各业务系统采集原始数据
- 数据存储层:统一数据存储,实现分布式数据管理
- 数据服务层:提供数据服务接口
- 数据展现层:提供数据分析和可视化功能
### 4.2 数据模型 负责系统用户的管理包括用户注册、认证、授权等功能。基于RBAC基于角色的访问控制模型设计支持细粒度的权限控制。
- 客户信息模型:包含客户基础信息、表卡信息、账户信息、联系人信息等
- 业务数据模型:抄表数据、收费数据、账务数据、发票数据等
- 工单数据模型:表务工单、报装工单等
- 配置数据模型:系统参数、水表参数、价格体系等
### 4.3 数据集成与共享 ### 2. 水表管理模块
- 统一数据标准:定义统一的数据标准和数据字典
- 数据集成机制采用ESB实现系统间的数据集成
- 数据共享机制:基于统一的数据服务接口实现数据共享
## 5. 安全架构 负责管理水表基础信息包括水表安装、更换、拆除、维修等生命周期管理支持普通水表、智能水表、IC卡水表等多种水表类型。
系统安全架构满足等保三级要求,主要包括以下安全措施: ### 3. 抄表管理模块
### 5.1 网络安全 负责水表读数的采集和管理,支持人工抄表、远传抄表、自报抄表等多种抄表方式,并提供异常数据处理、抄表任务分配等功能。
- 边界防护:防火墙、入侵检测/防御系统
- 访问控制:基于角色的访问控制
- 通信安全SSL/TLS加密传输
### 5.2 数据安全 ### 4. 收费管理模块
- 数据加密:敏感数据加密存储
- 数据备份:定期数据备份和恢复机制
- 数据审计:关键操作的审计日志
### 5.3 应用安全 负责水费的计算、收取和管理,支持多种计费规则和阶梯水价,提供窗口收费、网上支付、银行代扣等多种缴费方式。
- 身份认证:多因素认证
- 授权管理:细粒度的权限控制
- 安全审计:用户操作审计
## 6. 部署架构 ### 5. 账务管理模块
系统采用集中部署的模式,基于集团私有云环境进行部署 负责系统财务账务处理,包括收费入账、销账、退费、坏账处理等功能,与财务系统进行对接
### 6.1 物理部署 ### 6. 票据管理模块
- 生产环境:高可用集群部署
- 测试环境:用于系统测试和验证
- 开发环境:用于系统开发和集成测试
### 6.2 逻辑部署 负责水费发票的开具、作废、查询等管理功能,支持电子发票和纸质发票。
- 应用服务器集群:负责业务逻辑处理
- 数据库服务器集群:负责数据存储和管理
- 文件服务器:负责文档和附件存储
- 缓存服务器:提高系统性能
- 负载均衡服务器:实现请求分发和负载均衡
## 7. 接口架构 ### 7. 报表管理模块
系统提供标准化的接口,实现与外部系统的集成和数据交换 提供系统各类统计报表,包括营收报表、抄表报表、用水分析报表等,支持多维度的数据分析和可视化展示。
### 7.1 外部接口 ### 8. 系统管理模块
- 银行接口:实现与银行系统的对接,支持代扣、托收等功能
- 支付宝接口:支持支付宝支付功能
- 微信接口:支持微信支付和服务通知功能
- 短信接口:支持短信通知和验证码功能
### 7.2 内部接口 提供系统基础管理功能,包括菜单管理、角色管理、权限管理、系统日志等。
- ESB服务接口系统内部模块间的数据交换
- 报表接口:提供报表数据查询和生成功能
- 查询接口:提供数据查询功能
- 业务处理接口:提供业务处理功能
### 7.3 接口标准 ## 五、数据库设计
- 接口协议RESTful API、WebService、消息队列等
- 数据格式JSON、XML等 ### 1. 数据库架构
- 接口安全:身份认证、授权、加密传输等
系统采用MySQL作为主要关系型数据库Redis作为缓存数据库。数据库设计遵循以下原则
- 采用分模块设计,各业务模块数据相对独立
- 合理使用索引,提高查询效率
- 使用存储过程处理复杂业务逻辑
- 采用适当的分表策略处理大数据量表
### 2. 主要数据实体
```mermaid
erDiagram
USER {
int id
string username
string password
int status
}
ROLE {
int id
string name
string code
}
CUSTOMER {
int id
string name
string address
string contact
int customer_type
}
METER {
int id
string meter_no
int meter_type
int status
float initial_reading
}
METER_READING {
int id
int meter_id
float reading
date reading_date
int reading_type
}
BILLING {
int id
int customer_id
int meter_id
float amount
date billing_date
int status
}
PAYMENT {
int id
int billing_id
float amount
date payment_date
int payment_method
}
USER ||--o{ ROLE : has
CUSTOMER ||--o{ METER : owns
METER ||--o{ METER_READING : generates
CUSTOMER ||--o{ BILLING : charged
BILLING ||--o{ PAYMENT : paid_by
```
## 六、接口设计
### 1. 外部接口
系统需要与以下外部系统进行集成:
- **银行支付系统**:提供水费代扣和支付功能
- **微信/支付宝支付**:提供移动端支付功能
- **税务发票系统**:对接电子发票开具功能
- **物联网平台**:对接智能水表数据采集功能
- **GIS地理信息系统**:提供地理位置服务
### 2. 内部接口
系统内部模块间通过RESTful API进行通信接口设计遵循以下原则
- 采用RESTful风格设计API
- 使用JWT进行接口认证
- 统一接口返回格式
- 接口版本控制
- 完善的接口文档
## 七、安全设计
### 1. 身份认证与授权
- 基于Spring Security实现身份认证
- 基于RBAC模型实现权限控制
- 支持OAuth2.0协议进行第三方授权
- 采用JWT实现无状态会话管理
### 2. 数据安全
- 敏感数据加密存储
- 数据库访问权限控制
- 数据备份与恢复策略
- 数据传输加密
### 3. 应用安全
- 防SQL注入
- 防XSS攻击
- 防CSRF攻击
- 接口防刷
## 八、高可用设计
### 1. 负载均衡
采用Nginx实现前端负载均衡提高系统的并发处理能力和可用性。
### 2. 缓存策略
- 采用多级缓存策略,包括本地缓存和分布式缓存
- 热点数据缓存
- 合理的缓存失效策略
### 3. 灾备设计
- 数据库主从复制
- 定期数据备份
- 服务器集群部署
## 九、扩展性设计
### 1. 水平扩展
- 应用服务无状态设计,支持水平扩展
- 数据库读写分离,支持多数据源
### 2. 垂直扩展
- 模块化设计,支持功能独立扩展
- 插件化架构,支持新功能便捷集成
## 十、部署架构
### 1. 部署拓扑图
```mermaid
graph TD
subgraph 生产环境
LB[负载均衡] --> WS1[Web服务器1]
LB --> WS2[Web服务器2]
WS1 --> AS1[应用服务器1]
WS2 --> AS2[应用服务器2]
AS1 --> DB[(主数据库)]
AS2 --> DB
DB --> SDB[(从数据库)]
end
subgraph 灾备环境
DLB[负载均衡] --> DWS[Web服务器]
DWS --> DAS[应用服务器]
DAS --> DDB[(灾备数据库)]
end
DB -.-> DDB
```
### 2. 服务器配置要求
| 服务器类型 | 配置要求 | 数量 |
|---------|---------|-----|
| Web服务器 | 8核16G内存100G SSD | 2 |
| 应用服务器 | 16核32G内存200G SSD | 2 |
| 数据库服务器 | 16核64G内存500G SSDRAID 10 | 2 |
| 文件服务器 | 8核16G内存2T存储 | 1 |
## 十一、开发与运维策略
### 1. 开发规范
- 统一的编码规范
- 代码审查机制
- 自动化测试
- 持续集成/持续部署(CI/CD)
### 2. 监控策略
- 系统性能监控
- 业务指标监控
- 异常监控与告警
- 用户行为分析
### 3. 运维工具
- 日志收集与分析工具
- 性能监控工具
- 部署自动化工具
- 数据库运维工具
## 十二、风险与应对策略
| 风险类型 | 风险描述 | 应对策略 |
|---------|---------|---------|
| 性能风险 | 高并发场景下系统性能下降 | 性能测试、缓存优化、数据库优化 |
| 安全风险 | 数据泄露、非授权访问 | 安全审计、加密措施、权限控制 |
| 可靠性风险 | 系统故障、数据丢失 | 高可用架构、数据备份、故障演练 |
| 兼容性风险 | 浏览器兼容性问题 | 兼容性测试、渐进增强设计 |
| 扩展性风险 | 业务增长导致系统扩展困难 | 模块化设计、松耦合架构 |

View File

@ -1,151 +0,0 @@
# 福建水务业务系统专业术语
本文档定义了福建水务业务系统中常用的专业术语,以便于相关人员理解和使用系统。
## 基础术语
### 站点
用于划分用户所属管辖区域,站点可以进行多级管理。通常指水务公司下属的营业网点或服务站。
### 册本
又称抄表本或抄表簿,根据抄表线路规划,按排相邻的一些水表给某一个抄表员进行抄表;册本的属性有册本编号、册本名称、抄表员、抄表工次、抄表周期、起抄日期等。
### 用户编号
为签定了供用水合同的正式用户分配的唯一识别号,用户编号自立户时自动由系统按指定规则产生,用户编号一旦生成,不能因过户、用水性质发生变更等原因而改变。
### 水表分类
水表分类分为单表、总分表等。单表是指只服务一个用户的水表;总分表是指一个总表下面有多个分表的情况,通常用于小区或企业用水管理。
## 水量与计费术语
### 售水量
抄收水量+查处水量±调整水量
### 抄收水量
通过抄表收费的水量
### 调整水量
优惠水量+减免水量+抄表(录入)误差
### 当期应收水费
当期售水量乘以不同类别的水价(到户价)所得的金额
### 当期实收水费
实收当期水费和实收历史欠费
### 当期欠费
当期内未到账的当期应收水费
### 历史欠费
当期前未到账的应收水费
## 业务指标术语
### 当期水费回收率
(当期应收水费-当期未收水费)/当期应收水费×100%
### 历史欠费回收率
实收历史欠费/应收历史欠费×100%
### 水表抄见率
(当期应抄用户数-当期估表用户数)/当期应抄用户数×100%
### 同比
(本期-上年同期)/上年同期×100%
### 环比
(本期-上期)/上期×100%
## 抄表与收费术语
### 人工抄表
抄表员按照册本顺序,通过人工方式上门抄录水表示数的方式。
### 远传抄表
通过自动抄表系统,远程采集水表数据的方式。
### 自报抄表
由用户自行报送水表示数的抄表方式。
### 估表
当无法获取实际水表示数时,系统根据历史用水量估算的当期用水量。
### 复核抄表
对抄表数据进行复核确认的过程,通常针对异常数据或抽查。
### 开账
根据抄表数据,生成用户水费账单的过程。
### 销账
用户缴纳水费后,系统将应收水费标记为已收的过程。
## 表务与报装术语
### 表务工单
针对水表安装、维修、更换等业务的工作单据。
### 换表
将用户的旧水表更换为新水表的业务流程。
### 移表
改变水表安装位置的业务流程。
### 校表
检测并校准水表精度的业务流程。
### 报装
用户申请新装水表,办理用水手续的业务流程。
### 一户一表
每户用户单独安装水表计量用水的管理模式。
### 总分表
一个总表下面有多个分表的水表安装方式,通常用于小区或企业等集中用水场所。
## 账务与支付术语
### 预付款
用户预先缴纳的水费,存入用户账户,用于抵扣后续水费的款项。
### 银行托收
通过银行批量自动从用户账户中扣除水费的方式。
### 违约金
用户逾期未缴纳水费,按规定收取的滞纳金。
### 退款
将用户多缴或预付的水费退还给用户的业务流程。
### 调价
水价调整的业务流程,包括调价申请、审批、执行等环节。
## 系统管理术语
### 多租户
系统支持多个组织机构独立运营、数据隔离的架构模式。
### 单点登录
用户只需登录一次,就可以访问系统内所有相互信任的应用系统的功能。
### 角色权限
基于角色的权限管理模式,通过角色定义不同用户的操作权限。
### 业务参数
系统中各种可配置的参数,用于适应不同业务场景和需求。
### 水价体系
水务公司制定的各类用户水价标准体系,可能包含基本水价、阶梯水价等多种形式。
## 客户服务术语
### 微网厅
通过微信公众号提供的自助服务平台,用户可查询账单、缴费、查看用水情况等。
### 服务窗
支付宝平台上提供的自助服务渠道。
### 电子发票
系统自动生成并发送给用户的电子形式发票。
### 催缴
对欠费用户进行催缴的业务流程,可通过短信、电话、上门等多种方式。