fujian_water_biz_doc/water_biz_system_architecture.md

411 lines
16 KiB
Markdown
Raw 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.

# 福建水务业务系统架构设计
## 目录
- [1. 系统架构概述](#1-系统架构概述)
- [2. 技术架构](#2-技术架构)
- [3. 应用架构](#3-应用架构)
- [4. 数据架构](#4-数据架构)
- [5. 安全架构](#5-安全架构)
- [6. 部署架构](#6-部署架构)
- [7. 接口架构](#7-接口架构)
## 1. 系统架构概述
福建水务业务系统采用多层架构设计,旨在支持集团化的集中管理、统一资源管理的业务需求。系统架构的设计目标是实现"一个业务平台、一网通平台"的建设目标,为集团及下属各分公司提供统一的营业收费系统。
系统架构主要包括以下核心特点:
- 多租户架构:支持集团、分公司、营业站点的多层级租户管理模式
- 统一资源服务:统一的数字水务系统运行资源环境
- 统一平台应用:统一业务流程,集中汇集数据
- 统一对外接口:提供标准的接口和能力
```mermaid
graph TD
%% 用户访问层
User1[Web端用户] --- Access
User2[移动端用户] --- Access
User3[营业厅操作人员] --- Access
subgraph Access[接入层]
LoadBalancer[负载均衡]
Firewall[防火墙]
SSO[单点登录]
end
Access --- AppLayer
%% 应用层
subgraph AppLayer[应用层]
subgraph Platform[统一平台]
SysManage[系统管理]
WorkflowAlert[流程节点提醒]
end
subgraph Revenue[营收系统]
Meter[抄表开账]
Charge[收费管理]
Account[账务处理]
Invoice[发票管理]
Collection[代收业务]
EnvSanitation[环卫系统]
BusinessOrders[业务工单]
end
subgraph CustService[客户服务]
WeChatPay[微信/支付宝服务]
BillQuery[账单查询]
EInvoice[电子发票]
WebPortal[微网厅]
AIService[智能客服]
end
subgraph MeterMgmt[表务系统]
MeterWork[表务工单]
MeterStore[表务仓库]
MeterParams[水表参数]
IoTIntegration[物联网对接]
end
subgraph Installation[报装管理]
InstallProcess[报装流程]
OneMeter[一户一表管理]
end
subgraph StatAnalysis[统计分析]
ReportQuery[报表查询]
DebtQuery[欠费查询]
PaymentRecord[缴费记录]
WaterAnalysis[用水分析]
end
subgraph ProjectMgmt[工程管理]
ProjectApply[工程申请]
ProjectConstruct[工程施工]
ProjectAccept[工程验收]
ProjectQuery[工程查询]
end
subgraph MeterApp[抄表APP]
AppHome[首页功能]
AppMeter[抄表功能]
AppOrder[工单管理]
end
subgraph APIService[接口服务]
APIMarket[API市场]
APIMgmt[API管理]
APIAuth[接口权限管理]
APIExtern[系统对外接口]
end
end
AppLayer --- MiddleLayer
%% 中间层
subgraph MiddleLayer[中间层]
ESB[企业服务总线]
ReportPlatform[统一报表平台]
Cache[缓存服务]
Workflow[工作流引擎]
MessageQueue[消息队列]
end
MiddleLayer --- DataLayer
%% 数据层
subgraph DataLayer[数据层]
DBCluster[数据库集群]
FileServer[文件服务器]
Backup[数据备份恢复]
DataIntegration[数据集成]
end
%% 外部接口层
subgraph ExternalAPI[外部接口层]
BankAPI[银行接口]
PayAPI[支付接口]
SMSAPI[短信接口]
IoTAPI[物联网接口]
GovernmentAPI[政务系统接口]
HydrantAPI[消火栓系统接口]
EnvAPI[环卫系统接口]
OAAPI[OA系统接口]
end
MiddleLayer --- ExternalAPI
%% 安全层
SecurityLayer[安全层\n网络安全 • 数据安全 • 应用安全] --- AppLayer
SecurityLayer --- MiddleLayer
SecurityLayer --- DataLayer
%% 多租户
subgraph Tenants[多租户架构]
Group[集团]
Branch[分公司]
Station[营业站点]
end
Tenants -.- AppLayer
classDef layer fill:#f9f9f9,stroke:#333,stroke-width:2px
class Access,AppLayer,MiddleLayer,DataLayer,ExternalAPI,Tenants layer
classDef security fill:#ffe6e6,stroke:#f66,stroke-width:2px
class SecurityLayer security
classDef platform fill:#e6f7ff,stroke:#1890ff,stroke-width:1px
class Platform,Revenue,CustService,MeterMgmt,Installation,StatAnalysis,ProjectMgmt,MeterApp,APIService platform
```
## 2. 技术架构
系统采用B/S和M/S相结合的架构模式具体技术栈如下
### 2.1 服务端
- 操作系统:国产 Linux 操作系统
- 数据库MySQL/MariaDB数据库支持国产OpenGauss数据库
- 应用框架基于RuoYi-Vue-Pro框架定制开发
- 核心框架Spring Boot 3.x支持JDK 17/21
- ORM框架MyBatis Plus增强的MyBatis
- 权限框架Spring Security基于RBAC的权限管理
- 数据缓存Redis + Redisson高性能缓存和分布式锁
- 工作流引擎Flowable灵活的工作流处理
- 任务调度基于Quartz的CRON任务调度
- 服务监控Spring Boot Admin、SkyWalking APM
- 消息队列基于Redis的轻量级消息队列
- 文档生成Knife4j基于Swagger的API文档生成
- 代码生成自动化CRUD和表单代码生成器
- 多租户基于字段隔离的SaaS多租户设计
### 2.2 客户端
- 前端框架基于yudao-ui-admin-vue3框架定制开发
- 核心框架Vue 3.x + TypeScript
- 组件库Element Plus现代化UI组件
- 状态管理Pinia新一代的Vue状态管理库
- 路由管理Vue Router
- HTTP工具Axios请求拦截与统一处理
- CSS框架Tailwind CSS / UnoCSS原子化CSS
- 图表组件ECharts强大的可视化图表库
- 富文本编辑器WangEditor
- 文件上传基于Element Plus的上传组件
- 权限控制:细粒度的按钮级权限控制
- 动态表格:支持拖拽、排序、筛选
- 代码规范ESLint + Prettier标准化代码风格
- 移动端:
- 核心框架uni-app跨平台
- 组件库uview-ui
- 小程序支持:微信小程序、支付宝小程序等
- 移动端地图高德地图SDK用于抄表轨迹和导航
- 设备接入NFC、扫码、相机等硬件设备接口
### 2.3 技术特性
- 单点登录OAuth2 + JWT实现统一认证
- 数据交换基于RESTful API的系统内部数据交换与共享
- 统一报表平台集成JimuReport支持自定义报表设计与生成
- 大屏设计集成GoView支持可视化大屏设计
- 安全保障:满足安全等保三级要求
- 密码加密BCrypt加密算法
- 防XSS攻击表单数据过滤
- 防SQL注入参数化查询
- 防CSRF攻击Token验证
- 性能规格支持200并发用户50并发移动设备系统响应时间不超过3秒
- 扩展容量支持100万客户的业务量满足企业3-5年的业务发展需求
- 支持功能:
- 支付管理:微信支付、支付宝支付等
- 短信服务:阿里云、腾讯云等多家短信服务商
- AI能力
- 智能客服基于AI的智能问答系统
- 智能抄表:基于图像识别的水表读数
- 异常分析基于AI的用水异常分析
- API网关支持API权限管理、限流熔断、白名单控制
## 3. 应用架构
系统应用架构基于业务域划分,主要包括以下核心应用模块:
### 3.1 统一平台
- 单点登录:统一认证入口,支持多种登录方式
- 系统管理:组织机构、员工管理、角色权限管理、菜单配置等
- 流程节点提醒:工作流节点到期和状态变更提醒
### 3.2 营收系统
- 系统管理:水价管理、用户档案管理、更名过户管理等
- 抄表开账:册本管理、抄表录入、复核开账等
- 收费管理:柜台收费、特殊开账、柜台结账、批量缴费等
- 账务处理:预存调整、未销调整、已销调整、分账调整等
- 发票管理:发票查询、发票开具、电子发票等
- 代收业务:实时收费、银行代扣、银行托收等
- 环卫系统:计费核定、计费退补、计费减免等
- 业务工单:业务清单、上报清单、稽查工单、移表工单等
### 3.3 客户服务
- 微信、支付宝服务窗:账户绑定、用水查询、在线缴费等
- 历史账单:账单查询、用水分析、账单推送等
- 电子发票:发票申请、发票查询、发票下载等
- 营业网点:网点查询、网点导航、业务指南等
- 账户流水:流水查询、明细下载、交易统计等
- 微网厅:用户注册、信息查询、业务办理等
- 智能客服:常见问题、智能问答、业务指引等
### 3.4 表务系统
- 表务工单:换表工单、移表工单、拆表工单、复装工单等
- 表务仓库:新表入库、水表检定、水表领用、水表出库等
- 水表参数与基础信息:水表厂家管理、水表型号管理等
- 物联网对接与数据同步:厂家设备信息管理、远程抄表数据同步等
### 3.5 报装管理
- 报装流程:报装申请、方案设计、合同签订、施工管理等
- 一户一表管理:改造计划、改造实施、用户转换等
### 3.6 统计分析
- 报表查询:标准报表、自定义报表、报表导出打印等
- 欠费查询:欠费情况统计、欠费用户明细、欠费分析等
- 缴费记录:缴费情况统计、缴费明细查询、缴费趋势分析等
- 用水分析:用水量统计、用水趋势分析、异常用水分析等
### 3.7 工程管理
- 工程申请:工程立项、材料提交、前期勘察等
- 工程施工:施工计划、施工派工、施工记录等
- 工程验收:验收申请、验收检查、验收记录等
- 工程查询:工程进度查询、工程资料查询、工程统计等
### 3.8 抄表APP
- 首页功能:首页展示、个人信息、快捷查询等
- 抄表功能抄表任务、NFC抄表、扫码抄表、AI录入等
- 工单管理:问题上报、问题回填、代办工单、稽查工单等
### 3.9 接口服务
- API市场API展示、API使用说明、API测试等
- API管理API申请、API调度看板、接口服务配置管理等
- 接口权限管理:授权管理、白名单管理、安全策略等
- 系统对外接口:查询接口、业务处理接口、状态同步接口等
### 3.10 系统配置
- 水表参数:水表厂家、水表型号、水表量程等
- 地址参数:行政区划、地址编码、地址库等
- 价格体系:用水性质、水价标准、阶梯水价等
- 基本配置:系统参数、业务规则、打印模板等
- 催缴管理:催缴计划、催缴任务、催缴执行等
- 用户权限:菜单权限、功能权限、数据权限等
- 定时任务:任务配置、任务监控、任务日志等
## 4. 数据架构
系统数据架构基于客户关系数据库为核心和基础,实现客户全生命周期管理。
### 4.1 数据分层
- 数据采集层:负责从各业务系统和物联网设备采集原始数据
- 数据存储层:统一数据存储,实现分布式数据管理
- 数据服务层:提供数据服务接口
- 数据展现层:提供数据分析和可视化功能
### 4.2 数据模型
- 客户信息模型:包含客户基础信息、表卡信息、账户信息、联系人信息等
- 业务数据模型:抄表数据、收费数据、账务数据、发票数据等
- 工单数据模型:表务工单、报装工单、业务工单等
- 配置数据模型:系统参数、水表参数、价格体系等
- 报表数据模型:统计数据、分析数据、预测数据等
- 物联网数据模型:设备信息、状态信息、实时数据等
### 4.3 数据集成与共享
- 统一数据标准:定义统一的数据标准和数据字典
- 数据集成机制采用ESB实现系统间的数据集成
- 数据共享机制:基于统一的数据服务接口实现数据共享
- 数据同步策略:实时同步、定时同步、批量同步等
## 5. 安全架构
系统安全架构满足等保三级要求,主要包括以下安全措施:
### 5.1 网络安全
- 边界防护:防火墙、入侵检测/防御系统
- 访问控制:基于角色的访问控制
- 通信安全SSL/TLS加密传输
- 安全监控:实时监控网络安全状态
### 5.2 数据安全
- 数据加密:敏感数据加密存储
- 数据备份:定期数据备份和恢复机制
- 数据审计:关键操作的审计日志
- 数据脱敏:敏感数据的显示脱敏和处理脱敏
- 数据权限:基于多租户的数据隔离和访问控制
### 5.3 应用安全
- 身份认证:多因素认证
- 授权管理:细粒度的权限控制
- 安全审计:用户操作审计
- 密码策略:密码复杂度、定期更换、失败锁定等
- 会话管理:会话超时、并发限制等
### 5.4 接口安全
- 接口认证基于Token的接口认证
- 接口授权:基于角色的接口授权
- 接口加密:敏感数据的加密传输
- 接口防护:防重放、防篡改等安全措施
- 接口限流基于IP、用户、应用的限流策略
## 6. 部署架构
系统采用集中部署的模式,基于集团私有云环境进行部署。
### 6.1 物理部署
- 生产环境:高可用集群部署
- 应用服务器2台或以上服务器负载均衡
- 数据库服务器:主从架构,实时同步
- 缓存服务器Redis集群
- 文件服务器:冗余存储
- 灾备环境:异地灾备,定期数据同步
- 测试环境:用于系统测试和验证
- 开发环境:用于系统开发和集成测试
### 6.2 逻辑部署
- 应用服务器集群:负责业务逻辑处理
- 数据库服务器集群:负责数据存储和管理
- 文件服务器:负责文档和附件存储
- 缓存服务器:提高系统性能
- 负载均衡服务器:实现请求分发和负载均衡
- 移动应用服务提供移动端API服务
- API网关统一的接口管理和控制
### 6.3 容器部署
- 基于Docker容器技术实现微服务部署
- 使用Kubernetes进行容器编排和管理
- 支持容器的自动扩缩容和故障转移
- 实现服务的灰度发布和版本控制
## 7. 接口架构
系统提供标准化的接口,实现与外部系统的集成和数据交换。
### 7.1 外部接口
- 银行接口:实现与银行系统的对接,支持代扣、托收等功能
- 支付宝/微信接口:支持在线支付功能
- 短信接口:支持短信通知和验证码功能
- 集抄系统接口:实现与智能水表集中抄表系统的对接
- 政务系统接口实现与地方政务平台和政务APP的对接
- 消火栓系统接口:实现与消火栓系统的对接
- 环卫系统接口:实现与环卫系统的对接
- OA系统接口实现与OA系统的工作流对接
### 7.2 内部接口
- ESB服务接口系统内部模块间的数据交换
- 报表接口:提供报表数据查询和生成功能
- 查询接口:提供数据查询功能
- 业务处理接口:提供业务处理功能
- 消息通知接口:提供消息推送和通知功能
- 工作流接口:提供工作流处理和状态查询功能
### 7.3 接口标准
- 接口协议RESTful API、WebService、消息队列等
- 数据格式JSON、XML等
- 接口安全:身份认证、授权、加密传输等
- 接口文档:统一的接口文档和示例代码
- 接口测试:提供接口测试工具和环境
### 7.4 接口服务管理
- API网关统一的接口入口和管理
- 服务注册与发现:服务的自动注册和发现
- 服务路由:根据请求参数进行服务路由
- 服务降级:在服务不可用时提供降级策略
- 服务监控:实时监控服务的可用性和性能