diff --git a/output/water_biz_database_design.docx b/output/water_biz_database_design.docx index 0001e02..9c789a5 100644 Binary files a/output/water_biz_database_design.docx and b/output/water_biz_database_design.docx differ diff --git a/output/water_biz_database_design_processed.md b/output/water_biz_database_design_processed.md index a9fadbf..2b81f50 100644 --- a/output/water_biz_database_design_processed.md +++ b/output/water_biz_database_design_processed.md @@ -62,7 +62,7 @@ CJKmainfont: "PingFang SC" **图表 1** -![图表 1](temp_mermaid_water_biz_database_design_20078/diagram_1.png) +![图表 1](temp_mermaid_water_biz_database_design_35098/diagram_1.png) ### 多租户架构设计 @@ -70,7 +70,7 @@ CJKmainfont: "PingFang SC" **图表 2** -![图表 2](temp_mermaid_water_biz_database_design_20078/diagram_2.png) +![图表 2](temp_mermaid_water_biz_database_design_35098/diagram_2.png) ### 通用字段设计 @@ -94,7 +94,7 @@ CJKmainfont: "PingFang SC" **图表 3** -![图表 3](temp_mermaid_water_biz_database_design_20078/diagram_3.png) +![图表 3](temp_mermaid_water_biz_database_design_35098/diagram_3.png) ### 营收管理模块ER图 @@ -102,7 +102,7 @@ CJKmainfont: "PingFang SC" **图表 4** -![图表 4](temp_mermaid_water_biz_database_design_20078/diagram_4.png) +![图表 4](temp_mermaid_water_biz_database_design_35098/diagram_4.png) ### 表务管理模块ER图 @@ -110,7 +110,7 @@ CJKmainfont: "PingFang SC" **图表 5** -![图表 5](temp_mermaid_water_biz_database_design_20078/diagram_5.png) +![图表 5](temp_mermaid_water_biz_database_design_35098/diagram_5.png) ### 系统管理模块ER图 @@ -118,7 +118,7 @@ CJKmainfont: "PingFang SC" **图表 6** -![图表 6](temp_mermaid_water_biz_database_design_20078/diagram_6.png) +![图表 6](temp_mermaid_water_biz_database_design_35098/diagram_6.png) ## 核心数据表设计 @@ -128,7 +128,7 @@ CJKmainfont: "PingFang SC" **图表 7** -![图表 7](temp_mermaid_water_biz_database_design_20078/diagram_7.png) +![图表 7](temp_mermaid_water_biz_database_design_35098/diagram_7.png) ### 系统管理模块ER图 @@ -136,7 +136,7 @@ CJKmainfont: "PingFang SC" **图表 8** -![图表 8](temp_mermaid_water_biz_database_design_20078/diagram_8.png) +![图表 8](temp_mermaid_water_biz_database_design_35098/diagram_8.png) ## 数据表结构设计 diff --git a/output/water_biz_deployment_design.docx b/output/water_biz_deployment_design.docx index af0f01a..d1fbb39 100644 Binary files a/output/water_biz_deployment_design.docx and b/output/water_biz_deployment_design.docx differ diff --git a/output/water_biz_deployment_design_processed.md b/output/water_biz_deployment_design_processed.md index 266e81d..6221509 100644 --- a/output/water_biz_deployment_design_processed.md +++ b/output/water_biz_deployment_design_processed.md @@ -54,7 +54,7 @@ CJKmainfont: "PingFang SC" **图表 1** -![图表 1](temp_mermaid_water_biz_deployment_design_20078/diagram_1.png) +![图表 1](temp_mermaid_water_biz_deployment_design_35098/diagram_1.png) ### 环境架构设计 @@ -131,7 +131,7 @@ CJKmainfont: "PingFang SC" **图表 2** -![图表 2](temp_mermaid_water_biz_deployment_design_20078/diagram_2.png) +![图表 2](temp_mermaid_water_biz_deployment_design_35098/diagram_2.png) #### 部署配置说明 diff --git a/output/water_biz_interface_design.docx b/output/water_biz_interface_design.docx index fe6a1cd..176adb2 100644 Binary files a/output/water_biz_interface_design.docx and b/output/water_biz_interface_design.docx differ diff --git a/output/water_biz_interface_design_processed.md b/output/water_biz_interface_design_processed.md index 802a294..6aa23d2 100644 --- a/output/water_biz_interface_design_processed.md +++ b/output/water_biz_interface_design_processed.md @@ -152,6 +152,7 @@ CJKmainfont: "PingFang SC" - **认证方式**:API Key + 签名 **请求参数**: + ```json { "merchantId": "WATER001", @@ -189,6 +190,7 @@ CJKmainfont: "PingFang SC" - **认证方式**:RSA2签名 **预创建支付请求参数**: + ```json { "app_id": "2021001234567890", @@ -241,6 +243,7 @@ CJKmainfont: "PingFang SC" - **认证方式**:微信支付V3签名 **统一下单请求参数**: + ```json { "appid": "wx8888888888888888", @@ -315,6 +318,7 @@ CJKmainfont: "PingFang SC" - **请求头**:`Authorization: Bearer {token}` **请求参数**: + | 参数名 | 类型 | 必填 | 说明 | 示例 | |-------|------|------|------|------| | id | Long | 是 | 客户ID | 1 | @@ -346,6 +350,7 @@ CJKmainfont: "PingFang SC" - **请求路径**:`/admin-api/water/customer/page` **请求参数**: + | 参数名 | 类型 | 必填 | 说明 | 示例 | |-------|------|------|------|------| | pageNo | Integer | 否 | 页码,默认1 | 1 | @@ -387,6 +392,7 @@ CJKmainfont: "PingFang SC" - **请求路径**:`/admin-api/water/customer/create` **请求参数**: + ```json { "customerCode": "C002", @@ -420,6 +426,7 @@ CJKmainfont: "PingFang SC" - **请求头**:`Authorization: Bearer {token}` **请求参数**: + | 参数名 | 类型 | 必填 | 说明 | 示例 | |-------|------|------|------|------| | id | Long | 是 | 水表ID | 1 | @@ -457,6 +464,7 @@ CJKmainfont: "PingFang SC" - **请求路径**:`/admin-api/water/reading/create` **请求参数**: + ```json { "meterId": 1, @@ -488,6 +496,7 @@ CJKmainfont: "PingFang SC" - **Content-Type**:`multipart/form-data` **请求参数**: + | 参数名 | 类型 | 必填 | 说明 | 示例 | |-------|------|------|------|------| | file | MultipartFile | 是 | Excel文件 | reading_data.xlsx | @@ -523,6 +532,7 @@ CJKmainfont: "PingFang SC" - **请求路径**:`/admin-api/water/bill/page` **请求参数**: + | 参数名 | 类型 | 必填 | 说明 | 示例 | |-------|------|------|------|------| | pageNo | Integer | 否 | 页码,默认1 | 1 | @@ -569,6 +579,7 @@ CJKmainfont: "PingFang SC" - **请求路径**:`/admin-api/water/bill/generate` **请求参数**: + ```json { "billMonth": "2024-12", @@ -608,6 +619,7 @@ CJKmainfont: "PingFang SC" - **请求路径**:`/admin-api/water/payment/create` **请求参数**: + ```json { "customerId": 1, @@ -645,6 +657,7 @@ CJKmainfont: "PingFang SC" - **请求路径**:`/admin-api/water/payment/online-pay` **请求参数**: + ```json { "customerId": 1, diff --git a/output/water_biz_module_design.docx b/output/water_biz_module_design.docx index 8d5c4a9..dcd3ac4 100644 Binary files a/output/water_biz_module_design.docx and b/output/water_biz_module_design.docx differ diff --git a/output/water_biz_module_design_processed.md b/output/water_biz_module_design_processed.md index 70c1144..94289bb 100644 --- a/output/water_biz_module_design_processed.md +++ b/output/water_biz_module_design_processed.md @@ -114,7 +114,7 @@ CJKmainfont: "PingFang SC" **图表 1** -![图表 1](temp_mermaid_water_biz_module_design_20078/diagram_1.png) +![图表 1](temp_mermaid_water_biz_module_design_35098/diagram_1.png) ### 技术架构图 @@ -122,7 +122,7 @@ CJKmainfont: "PingFang SC" **图表 2** -![图表 2](temp_mermaid_water_biz_module_design_20078/diagram_2.png) +![图表 2](temp_mermaid_water_biz_module_design_35098/diagram_2.png) ### 业务架构图 @@ -130,7 +130,7 @@ CJKmainfont: "PingFang SC" **图表 3** -![图表 3](temp_mermaid_water_biz_module_design_20078/diagram_3.png) +![图表 3](temp_mermaid_water_biz_module_design_35098/diagram_3.png) ## 统一平台 @@ -228,7 +228,7 @@ CJKmainfont: "PingFang SC" **图表 4** -![图表 4](temp_mermaid_water_biz_module_design_20078/diagram_4.png) +![图表 4](temp_mermaid_water_biz_module_design_35098/diagram_4.png) #### 主要功能 @@ -296,7 +296,7 @@ CJKmainfont: "PingFang SC" **图表 5** -![图表 5](temp_mermaid_water_biz_module_design_20078/diagram_5.png) +![图表 5](temp_mermaid_water_biz_module_design_35098/diagram_5.png) #### 主要功能 @@ -358,7 +358,7 @@ CJKmainfont: "PingFang SC" **图表 6** -![图表 6](temp_mermaid_water_biz_module_design_20078/diagram_6.png) +![图表 6](temp_mermaid_water_biz_module_design_35098/diagram_6.png) #### 主要功能 @@ -398,7 +398,7 @@ CJKmainfont: "PingFang SC" **图表 7** -![图表 7](temp_mermaid_water_biz_module_design_20078/diagram_7.png) +![图表 7](temp_mermaid_water_biz_module_design_35098/diagram_7.png) #### 核心接口定义 @@ -812,7 +812,7 @@ CJKmainfont: "PingFang SC" **图表 8** -![图表 8](temp_mermaid_water_biz_module_design_20078/diagram_8.png) +![图表 8](temp_mermaid_water_biz_module_design_35098/diagram_8.png) ### 技术栈整合方案 diff --git a/output/water_biz_overview_design.docx b/output/water_biz_overview_design.docx index 6a7c2b9..9ecb525 100644 Binary files a/output/water_biz_overview_design.docx and b/output/water_biz_overview_design.docx differ diff --git a/output/water_biz_security_design.docx b/output/water_biz_security_design.docx index cbf81b7..2f989d4 100644 Binary files a/output/water_biz_security_design.docx and b/output/water_biz_security_design.docx differ diff --git a/output/water_biz_security_design_processed.md b/output/water_biz_security_design_processed.md index 1fe2d9c..aac284e 100644 --- a/output/water_biz_security_design_processed.md +++ b/output/water_biz_security_design_processed.md @@ -53,7 +53,7 @@ CJKmainfont: "PingFang SC" **图表 1** -![图表 1](temp_mermaid_water_biz_security_design_20078/diagram_1.png) +![图表 1](temp_mermaid_water_biz_security_design_35098/diagram_1.png) ## OpenGauss数据库安全 @@ -63,7 +63,7 @@ CJKmainfont: "PingFang SC" **图表 2** -![图表 2](temp_mermaid_water_biz_security_design_20078/diagram_2.png) +![图表 2](temp_mermaid_water_biz_security_design_35098/diagram_2.png) ### 国产密码算法应用 @@ -144,7 +144,7 @@ CJKmainfont: "PingFang SC" **图表 3** -![图表 3](temp_mermaid_water_biz_security_design_20078/diagram_3.png) +![图表 3](temp_mermaid_water_biz_security_design_35098/diagram_3.png) ### 防火墙策略配置 @@ -180,7 +180,7 @@ CJKmainfont: "PingFang SC" **图表 4** -![图表 4](temp_mermaid_water_biz_security_design_20078/diagram_4.png) +![图表 4](temp_mermaid_water_biz_security_design_35098/diagram_4.png) #### 数据保护策略 @@ -219,7 +219,7 @@ CJKmainfont: "PingFang SC" **图表 5** -![图表 5](temp_mermaid_water_biz_security_design_20078/diagram_5.png) +![图表 5](temp_mermaid_water_biz_security_design_35098/diagram_5.png) #### 安全事件检测规则 @@ -240,7 +240,7 @@ CJKmainfont: "PingFang SC" **图表 6** -![图表 6](temp_mermaid_water_biz_security_design_20078/diagram_6.png) +![图表 6](temp_mermaid_water_biz_security_design_35098/diagram_6.png) ### 应急响应预案 @@ -257,7 +257,7 @@ CJKmainfont: "PingFang SC" **图表 7** -![图表 7](temp_mermaid_water_biz_security_design_20078/diagram_7.png) +![图表 7](temp_mermaid_water_biz_security_design_35098/diagram_7.png) ## 安全管理制度 @@ -268,7 +268,7 @@ CJKmainfont: "PingFang SC" **图表 8** -![图表 8](temp_mermaid_water_biz_security_design_20078/diagram_8.png) +![图表 8](temp_mermaid_water_biz_security_design_35098/diagram_8.png) ### 安全管理制度 diff --git a/output/water_biz_system_architecture.docx b/output/water_biz_system_architecture.docx index 29fd130..2df5c72 100644 Binary files a/output/water_biz_system_architecture.docx and b/output/water_biz_system_architecture.docx differ diff --git a/output/water_biz_system_architecture_processed.md b/output/water_biz_system_architecture_processed.md index 3314abe..133ce40 100644 --- a/output/water_biz_system_architecture_processed.md +++ b/output/water_biz_system_architecture_processed.md @@ -43,9 +43,55 @@ CJKmainfont: "PingFang SC" ### 系统总体架构图 -**图表 1** +```mermaid +graph TB + subgraph USER["用户层"] + A1[Web管理端
yudao-ui-admin-vue3] + A2[移动抄表端
uni-app] + A3[客户微信端
微信小程序] + A4[客户支付宝端
支付宝小程序] + end + + subgraph GATEWAY["网关层"] + B1[Nginx负载均衡] + B2[API网关
统一认证/权限控制] + end + + subgraph APP["应用层"] + C1[营收管理
RuoYi-Vue-Pro] + C2[客户服务
RuoYi-Vue-Pro] + C3[表务管理
RuoYi-Vue-Pro] + C4[统计分析
RuoYi-Vue-Pro] + end + + subgraph SERVICE["服务层"] + D1[权限服务
Spring Security] + D2[工作流服务
Flowable] + D3[消息服务
Redis MQ] + D4[文件服务
MinIO/OSS] + end + + subgraph DATA["数据层"] + E1[(OpenGauss 5.0+
主从架构)] + E2[(Redis 6.0
集群缓存)] + E3[文件存储
分布式存储] + end + + subgraph EXTERNAL["外部接口"] + F1[银行接口
代扣/托收] + F2[支付接口
微信/支付宝] + F3[短信接口
阿里云/腾讯云] + F4[物联网接口
智能水表] + end + + %% 层级间调用关系 + USER -.->|请求访问| GATEWAY + GATEWAY -.->|负载均衡
路由转发| APP + APP -.->|服务调用| SERVICE + APP -.->|外部集成| EXTERNAL + SERVICE -.->|数据访问| DATA -![图表 1](temp_mermaid_water_biz_system_architecture_20078/diagram_1.png) +``` ### 物理部署架构图 @@ -53,7 +99,7 @@ CJKmainfont: "PingFang SC" **图表 2** -![图表 2](temp_mermaid_water_biz_system_architecture_20078/diagram_2.png) +![图表 2](temp_mermaid_water_biz_system_architecture_35098/diagram_2.png) ## 技术架构 @@ -65,7 +111,7 @@ CJKmainfont: "PingFang SC" **图表 3** -![图表 3](temp_mermaid_water_biz_system_architecture_20078/diagram_3.png) +![图表 3](temp_mermaid_water_biz_system_architecture_35098/diagram_3.png) ### 系统数据流向图 @@ -73,7 +119,7 @@ CJKmainfont: "PingFang SC" **图表 4** -![图表 4](temp_mermaid_water_biz_system_architecture_20078/diagram_4.png) +![图表 4](temp_mermaid_water_biz_system_architecture_35098/diagram_4.png) ### 服务端技术架构 @@ -122,7 +168,7 @@ CJKmainfont: "PingFang SC" **图表 5** -![图表 5](temp_mermaid_water_biz_system_architecture_20078/diagram_5.png) +![图表 5](temp_mermaid_water_biz_system_architecture_35098/diagram_5.png) ### 技术特性 @@ -146,7 +192,7 @@ CJKmainfont: "PingFang SC" **图表 6** -![图表 6](temp_mermaid_water_biz_system_architecture_20078/diagram_6.png) +![图表 6](temp_mermaid_water_biz_system_architecture_35098/diagram_6.png) ### 服务治理架构 @@ -154,7 +200,7 @@ CJKmainfont: "PingFang SC" **图表 7** -![图表 7](temp_mermaid_water_biz_system_architecture_20078/diagram_7.png) +![图表 7](temp_mermaid_water_biz_system_architecture_35098/diagram_7.png) ### 应用模块设计 @@ -207,7 +253,7 @@ CJKmainfont: "PingFang SC" **图表 8** -![图表 8](temp_mermaid_water_biz_system_architecture_20078/diagram_8.png) +![图表 8](temp_mermaid_water_biz_system_architecture_35098/diagram_8.png) #### 分片存储架构 @@ -215,7 +261,7 @@ CJKmainfont: "PingFang SC" **图表 9** -![图表 9](temp_mermaid_water_biz_system_architecture_20078/diagram_9.png) +![图表 9](temp_mermaid_water_biz_system_architecture_35098/diagram_9.png) ### 数据模型设计 @@ -261,7 +307,7 @@ CJKmainfont: "PingFang SC" **图表 10** -![图表 10](temp_mermaid_water_biz_system_architecture_20078/diagram_10.png) +![图表 10](temp_mermaid_water_biz_system_architecture_35098/diagram_10.png) #### 访问控制安全 @@ -269,7 +315,7 @@ CJKmainfont: "PingFang SC" **图表 11** -![图表 11](temp_mermaid_water_biz_system_architecture_20078/diagram_11.png) +![图表 11](temp_mermaid_water_biz_system_architecture_35098/diagram_11.png) ### 网络安全 diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_1.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_1.mmd new file mode 100644 index 0000000..c55b06e --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_1.mmd @@ -0,0 +1,40 @@ +graph TB + subgraph "应用层" + APP[Water Biz Application
RuoYi-Vue-Pro] + end + + subgraph "数据访问层" + MP[MyBatis Plus
ORM框架] + CACHE[Redis缓存
热点数据] + end + + subgraph "数据存储层" + subgraph "OpenGauss主从集群" + MASTER[(OpenGauss主库
读写)] + SLAVE[(OpenGauss从库
只读)] + end + + subgraph "业务数据库" + DB_CUSTOMER[(客户数据库
Customer DB)] + DB_BILLING[(营收数据库
Billing DB)] + DB_METER[(表务数据库
Meter DB)] + DB_SYSTEM[(系统数据库
System DB)] + end + + subgraph "数据归档" + DB_HISTORY[(历史数据库
Archive DB)] + BACKUP[(备份存储
Backup Storage)] + end + end + + APP --> MP + APP --> CACHE + MP --> MASTER + MASTER --> SLAVE + MASTER --> DB_CUSTOMER + MASTER --> DB_BILLING + MASTER --> DB_METER + MASTER --> DB_SYSTEM + SLAVE --> DB_HISTORY + MASTER --> BACKUP + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_1.png b/temp_mermaid_water_biz_database_design_35098/diagram_1.png new file mode 100644 index 0000000..4d4af94 Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_1.png differ diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_2.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_2.mmd new file mode 100644 index 0000000..9d3b52a --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_2.mmd @@ -0,0 +1,31 @@ +graph TB + subgraph "多租户数据隔离" + TENANT1[租户1: 福建水务集团] + TENANT2[租户2: 厦门分公司] + TENANT3[租户3: 泉州分公司] + end + + subgraph "共享数据库" + subgraph "业务表结构" + TABLE1[water_customer
+ tenant_id] + TABLE2[water_meter
+ tenant_id] + TABLE3[water_bill
+ tenant_id] + TABLE4[water_payment
+ tenant_id] + end + + subgraph "租户隔离机制" + INTERCEPTOR[MyBatis Plus
多租户拦截器] + FILTER[数据权限过滤器] + end + end + + TENANT1 --> INTERCEPTOR + TENANT2 --> INTERCEPTOR + TENANT3 --> INTERCEPTOR + + INTERCEPTOR --> FILTER + FILTER --> TABLE1 + FILTER --> TABLE2 + FILTER --> TABLE3 + FILTER --> TABLE4 + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_2.png b/temp_mermaid_water_biz_database_design_35098/diagram_2.png new file mode 100644 index 0000000..2310b73 Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_2.png differ diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_3.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_3.mmd new file mode 100644 index 0000000..292f12f --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_3.mmd @@ -0,0 +1,61 @@ +erDiagram + WATER_CUSTOMER { + bigint id PK "主键ID" + varchar customer_code UK "客户编号" + varchar customer_name "客户名称" + varchar customer_type "客户类型" + varchar id_type "证件类型" + varchar id_number "证件号码" + varchar phone "联系电话" + varchar address "详细地址" + varchar area_code "行政区划代码" + tinyint status "状态" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_METER { + bigint id PK "主键ID" + varchar meter_code UK "水表编号" + varchar meter_no "水表表号" + varchar meter_type "水表类型" + varchar meter_model "水表型号" + varchar meter_caliber "水表口径" + date install_date "安装日期" + varchar install_position "安装位置" + decimal initial_reading "初始读数" + decimal current_reading "当前读数" + varchar reading_cycle "抄表周期" + varchar book_code "册本编号" + tinyint status "状态" + bigint customer_id FK "客户ID" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_CUSTOMER_ACCOUNT { + bigint id PK "主键ID" + decimal balance "账户余额" + decimal credit_amount "信用额度" + date last_payment_date "最近缴费日期" + tinyint status "账户状态" + bigint customer_id FK "客户ID" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_CUSTOMER ||--o{ WATER_METER : "拥有" + WATER_CUSTOMER ||--|| WATER_CUSTOMER_ACCOUNT : "对应" + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_3.png b/temp_mermaid_water_biz_database_design_35098/diagram_3.png new file mode 100644 index 0000000..8f124a2 Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_3.png differ diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_4.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_4.mmd new file mode 100644 index 0000000..3e915f4 --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_4.mmd @@ -0,0 +1,67 @@ +erDiagram + WATER_METER_READING { + bigint id PK "主键ID" + varchar reading_code UK "抄表记录编号" + date reading_date "抄表日期" + decimal reading_value "抄表读数" + decimal prev_reading_value "上次读数" + decimal water_usage "用水量" + varchar reading_type "抄表类型" + varchar reader_id "抄表员ID" + varchar remark "备注" + tinyint status "状态" + bigint meter_id FK "水表ID" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_BILL { + bigint id PK "主键ID" + varchar bill_code UK "账单编号" + varchar bill_month "账期" + decimal water_usage "用水量" + decimal water_fee "水费金额" + decimal sewage_fee "污水处理费" + decimal other_fee "其他费用" + decimal total_amount "总金额" + date due_date "缴费截止日期" + tinyint bill_status "账单状态" + bigint customer_id FK "客户ID" + bigint meter_id FK "水表ID" + bigint reading_id FK "抄表记录ID" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_PAYMENT { + bigint id PK "主键ID" + varchar payment_code UK "缴费记录编号" + varchar payment_type "缴费类型" + varchar payment_channel "缴费渠道" + decimal payment_amount "缴费金额" + datetime payment_time "缴费时间" + varchar transaction_no "交易流水号" + varchar operator_id "操作员ID" + varchar remark "备注" + tinyint payment_status "缴费状态" + bigint bill_id FK "账单ID" + bigint customer_id FK "客户ID" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_METER_READING ||--|| WATER_BILL : "生成" + WATER_BILL ||--o{ WATER_PAYMENT : "对应" + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_4.png b/temp_mermaid_water_biz_database_design_35098/diagram_4.png new file mode 100644 index 0000000..3046e34 Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_4.png differ diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_5.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_5.mmd new file mode 100644 index 0000000..a530448 --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_5.mmd @@ -0,0 +1,64 @@ +erDiagram + WATER_METER_ARCHIVE { + bigint id PK "主键ID" + varchar archive_code UK "档案编号" + varchar manufacturer "生产厂家" + date production_date "生产日期" + int valid_period "有效期(月)" + date verification_date "检定日期" + date next_verification_date "下次检定日期" + varchar certificate_no "检定证书号" + tinyint archive_status "档案状态" + bigint meter_id FK "水表ID" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_METER_WORKORDER { + bigint id PK "主键ID" + varchar workorder_code UK "工单编号" + varchar workorder_type "工单类型" + varchar workorder_status "工单状态" + date apply_date "申请日期" + date plan_date "计划执行日期" + date execute_date "实际执行日期" + varchar applicant_id "申请人ID" + varchar executor_id "执行人ID" + varchar reason "申请原因" + varchar result "执行结果" + bigint meter_id FK "水表ID" + bigint customer_id FK "客户ID" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_METER_STOCK { + bigint id PK "主键ID" + varchar stock_code UK "库存编号" + varchar warehouse_code "仓库编码" + varchar warehouse_name "仓库名称" + int stock_quantity "库存数量" + int min_stock "最小库存" + int max_stock "最大库存" + varchar meter_model "水表型号" + varchar meter_caliber "水表口径" + tinyint stock_status "库存状态" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + WATER_METER ||--|| WATER_METER_ARCHIVE : "对应" + WATER_METER ||--o{ WATER_METER_WORKORDER : "产生" + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_5.png b/temp_mermaid_water_biz_database_design_35098/diagram_5.png new file mode 100644 index 0000000..6f37d62 Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_5.png differ diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_6.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_6.mmd new file mode 100644 index 0000000..c33c78a --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_6.mmd @@ -0,0 +1,45 @@ +erDiagram + SYSTEM_TENANT { + bigint id PK "主键ID" + varchar tenant_name "租户名称" + varchar tenant_code UK "租户编码" + varchar contact_name "联系人" + varchar contact_phone "联系电话" + varchar contact_email "联系邮箱" + tinyint tenant_status "租户状态" + datetime expire_time "过期时间" + varchar domain "域名" + varchar package_name "套餐名称" + int user_count "用户数量" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + SYSTEM_USERS { + bigint id PK "主键ID" + varchar username UK "用户名" + varchar password "密码" + varchar nickname "昵称" + varchar remark "备注" + varchar dept_id "部门ID" + varchar post_ids "岗位ID列表" + varchar email "邮箱" + varchar mobile "手机号" + tinyint sex "性别" + varchar avatar "头像" + tinyint status "状态" + datetime login_date "最后登录时间" + varchar login_ip "最后登录IP" + bigint tenant_id "租户ID" + varchar creator "创建者" + datetime create_time "创建时间" + varchar updater "更新者" + datetime update_time "更新时间" + tinyint deleted "是否删除" + } + + SYSTEM_TENANT ||--o{ SYSTEM_USERS : "包含" + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_6.png b/temp_mermaid_water_biz_database_design_35098/diagram_6.png new file mode 100644 index 0000000..a808c2a Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_6.png differ diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_7.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_7.mmd new file mode 100644 index 0000000..3af33c5 --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_7.mmd @@ -0,0 +1,51 @@ +erDiagram + WATER_METER_WORKORDER { + bigint id PK "主键ID" + varchar workorder_code UK "工单编号" + varchar workorder_type "工单类型" + varchar workorder_status "工单状态" + date apply_date "申请日期" + date plan_date "计划执行日期" + date execute_date "实际执行日期" + varchar applicant_id "申请人ID" + varchar executor_id "执行人ID" + varchar reason "申请原因" + varchar result "执行结果" + bigint meter_id FK "水表ID" + bigint customer_id FK "客户ID" + bigint tenant_id "租户ID" + } + + WATER_METER_STOCK { + bigint id PK "主键ID" + varchar stock_code UK "库存编号" + varchar meter_brand "水表品牌" + varchar meter_model "水表型号" + varchar meter_caliber "水表口径" + int stock_quantity "库存数量" + int min_stock "最小库存" + decimal unit_price "单价" + varchar warehouse_location "仓库位置" + tinyint stock_status "库存状态" + bigint tenant_id "租户ID" + } + + WATER_METER_INVENTORY { + bigint id PK "主键ID" + varchar inventory_code UK "出入库编号" + varchar inventory_type "出入库类型" + int quantity "数量" + decimal unit_price "单价" + decimal total_amount "总金额" + varchar operator_id "操作员ID" + datetime operation_time "操作时间" + varchar remark "备注" + bigint stock_id FK "库存ID" + bigint workorder_id FK "工单ID" + bigint tenant_id "租户ID" + } + + WATER_METER ||--o{ WATER_METER_WORKORDER : "生成" + WATER_METER_STOCK ||--o{ WATER_METER_INVENTORY : "出入库" + WATER_METER_WORKORDER ||--o{ WATER_METER_INVENTORY : "关联" + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_7.png b/temp_mermaid_water_biz_database_design_35098/diagram_7.png new file mode 100644 index 0000000..3239b5d Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_7.png differ diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_8.mmd b/temp_mermaid_water_biz_database_design_35098/diagram_8.mmd new file mode 100644 index 0000000..a0084d6 --- /dev/null +++ b/temp_mermaid_water_biz_database_design_35098/diagram_8.mmd @@ -0,0 +1,49 @@ +erDiagram + WATER_DICT_TYPE { + bigint id PK "主键ID" + varchar dict_name "字典名称" + varchar dict_type UK "字典类型" + varchar remark "备注" + tinyint status "状态" + bigint tenant_id "租户ID" + } + + WATER_DICT_DATA { + bigint id PK "主键ID" + varchar dict_type "字典类型" + varchar dict_label "字典标签" + varchar dict_value "字典键值" + int dict_sort "字典排序" + varchar color_type "颜色类型" + varchar css_class "CSS类名" + varchar remark "备注" + tinyint status "状态" + bigint tenant_id "租户ID" + } + + WATER_CONFIG { + bigint id PK "主键ID" + varchar config_name "参数名称" + varchar config_key UK "参数键名" + varchar config_value "参数键值" + varchar config_type "系统内置" + varchar remark "备注" + bigint tenant_id "租户ID" + } + + WATER_PRICE_CONFIG { + bigint id PK "主键ID" + varchar price_name "水价名称" + varchar customer_type "客户类型" + varchar price_type "价格类型" + decimal base_price "基础价格" + decimal sewage_price "污水处理费" + decimal garbage_price "垃圾处理费" + date effective_date "生效日期" + date expire_date "失效日期" + tinyint status "状态" + bigint tenant_id "租户ID" + } + + WATER_DICT_TYPE ||--o{ WATER_DICT_DATA : "包含" + diff --git a/temp_mermaid_water_biz_database_design_35098/diagram_8.png b/temp_mermaid_water_biz_database_design_35098/diagram_8.png new file mode 100644 index 0000000..1862cbe Binary files /dev/null and b/temp_mermaid_water_biz_database_design_35098/diagram_8.png differ diff --git a/temp_mermaid_water_biz_deployment_design_35098/diagram_1.mmd b/temp_mermaid_water_biz_deployment_design_35098/diagram_1.mmd new file mode 100644 index 0000000..8d87bf1 --- /dev/null +++ b/temp_mermaid_water_biz_deployment_design_35098/diagram_1.mmd @@ -0,0 +1,45 @@ +graph + subgraph EXTERNAL["外部用户访问"] + direction TB + A[移动端用户] + B[PC端用户] + C[第三方系统] + end + + subgraph LOADBALANCER["负载均衡层"] + direction TB + D[主负载均衡器] + E[备负载均衡器] + end + + subgraph WEBSERVICE["Web服务层"] + direction TB + F[Web服务器1] + G[Web服务器2] + H[Web服务器3] + end + + subgraph APPSERVICE["应用服务层"] + direction TB + I[应用服务器1] + J[应用服务器2] + K[应用服务器3] + L[应用服务器4] + end + + subgraph DATASERVICE["数据服务层"] + direction TB + M[(主数据库
OpenGauss)] + N[(备数据库
OpenGauss)] + O[缓存服务器
Redis] + P[文件服务器
MinIO] + + M -.->|数据同步| N + end + + %% 层级间调用关系 + EXTERNAL -.->|用户请求
接口调用| LOADBALANCER + LOADBALANCER -.->|负载分发
故障切换| WEBSERVICE + WEBSERVICE -.->|业务请求
服务调用| APPSERVICE + APPSERVICE -.->|数据访问
缓存读写
文件操作| DATASERVICE + diff --git a/temp_mermaid_water_biz_deployment_design_35098/diagram_1.png b/temp_mermaid_water_biz_deployment_design_35098/diagram_1.png new file mode 100644 index 0000000..a42b4f5 Binary files /dev/null and b/temp_mermaid_water_biz_deployment_design_35098/diagram_1.png differ diff --git a/temp_mermaid_water_biz_deployment_design_35098/diagram_2.mmd b/temp_mermaid_water_biz_deployment_design_35098/diagram_2.mmd new file mode 100644 index 0000000..3e128e2 --- /dev/null +++ b/temp_mermaid_water_biz_deployment_design_35098/diagram_2.mmd @@ -0,0 +1,21 @@ +graph + direction TB + subgraph FRONTEND["前端服务层"] + A[前端容器
Nginx + Vue3] + end + + subgraph BACKEND["后端服务层"] + B[后端容器
Spring Boot] + end + + subgraph DATASTORAGE["数据存储层"] + direction TB + C[数据库容器
OpenGauss] + D[缓存容器
Redis] + E[文件存储容器
MinIO] + end + + %% 容器服务调用关系 + FRONTEND -.->|API请求
静态资源| BACKEND + BACKEND -.->|数据操作
缓存访问
文件存储| DATASTORAGE + diff --git a/temp_mermaid_water_biz_deployment_design_35098/diagram_2.png b/temp_mermaid_water_biz_deployment_design_35098/diagram_2.png new file mode 100644 index 0000000..e5a1093 Binary files /dev/null and b/temp_mermaid_water_biz_deployment_design_35098/diagram_2.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_1.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_1.mmd new file mode 100644 index 0000000..1df4da4 --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_1.mmd @@ -0,0 +1,92 @@ +graph TB + subgraph "用户层" + A1[管理员用户] + A2[抄表员] + A3[收费员] + A4[客户用户] + end + + subgraph "接入层" + B1[PC端管理后台
yudao-ui-admin-vue3] + B2[移动端抄表APP
uni-app] + B3[微信小程序] + B4[支付宝小程序] + B5[Web客户端] + end + + subgraph "网关层" + C1[API网关
Spring Cloud Gateway] + C2[负载均衡
Nginx] + end + + subgraph "服务层" + D1[用户认证服务
Spring Security + JWT] + D2[营收管理服务
RuoYi-Vue-Pro] + D3[表务管理服务] + D4[报装管理服务] + D5[客户服务] + D6[系统管理服务] + end + + subgraph "中间件层" + E1[(Redis缓存
6.0+)] + E2[RabbitMQ消息队列] + E3[Elasticsearch搜索] + E4[MinIO文件存储] + end + + subgraph "数据层" + F1[(主数据库
OpenGauss 5.0+)] + F2[(从数据库
OpenGauss 5.0+)] + F3[(历史数据库
OpenGauss 5.0+)] + end + + subgraph "外部系统" + G1[银行系统] + G2[支付宝/微信] + G3[短信平台] + G4[集抄系统] + G5[政务平台] + end + + A1 --> B1 + A2 --> B2 + A3 --> B1 + A4 --> B3 + A4 --> B4 + A4 --> B5 + + B1 --> C2 + B2 --> C2 + B3 --> C2 + B4 --> C2 + B5 --> C2 + + C2 --> C1 + C1 --> D1 + C1 --> D2 + C1 --> D3 + C1 --> D4 + C1 --> D5 + C1 --> D6 + + D1 --> E1 + D2 --> E1 + D2 --> E2 + D3 --> E1 + D4 --> E3 + D5 --> E4 + D6 --> E1 + + D2 --> F1 + D3 --> F1 + D4 --> F2 + D5 --> F2 + D6 --> F3 + + D2 --> G1 + D2 --> G2 + D5 --> G3 + D3 --> G4 + D4 --> G5 + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_1.png b/temp_mermaid_water_biz_module_design_35098/diagram_1.png new file mode 100644 index 0000000..2fdb262 Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_1.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_2.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_2.mmd new file mode 100644 index 0000000..90235a1 --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_2.mmd @@ -0,0 +1,71 @@ +graph TB + subgraph "前端技术栈" + FE1[Vue 3.x] + FE2[TypeScript 4.x] + FE3[Element Plus] + FE4[Vite 4.x] + FE5[Pinia状态管理] + end + + subgraph "后端技术栈" + BE1[Spring Boot 3.x] + BE2[Spring Security 6.x] + BE3[MyBatis Plus 3.x] + BE4[Spring Cloud Gateway] + BE5[Hibernate Validator] + end + + subgraph "数据库技术" + DB1[OpenGauss 5.0+] + DB2[Redis 6.0+] + DB3[HikariCP连接池] + DB4[MyBatis-Plus代码生成] + end + + subgraph "中间件技术" + MW1[RabbitMQ 3.x] + MW2[Elasticsearch 8.x] + MW3[MinIO对象存储] + MW4[XXL-JOB定时任务] + end + + subgraph "运维技术" + OPS1[Docker容器化] + OPS2[Jenkins CI/CD] + OPS3[Prometheus监控] + OPS4[ELK日志分析] + end + + subgraph "安全技术" + SEC1[JWT Token认证] + SEC2[OAuth2.0授权] + SEC3[AES数据加密] + SEC4[RSA签名验证] + end + + FE1 --> FE2 + FE2 --> FE3 + FE3 --> FE4 + FE4 --> FE5 + + BE1 --> BE2 + BE2 --> BE3 + BE3 --> BE4 + BE4 --> BE5 + + DB1 --> DB2 + DB2 --> DB3 + DB3 --> DB4 + + MW1 --> MW2 + MW2 --> MW3 + MW3 --> MW4 + + OPS1 --> OPS2 + OPS2 --> OPS3 + OPS3 --> OPS4 + + SEC1 --> SEC2 + SEC2 --> SEC3 + SEC3 --> SEC4 + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_2.png b/temp_mermaid_water_biz_module_design_35098/diagram_2.png new file mode 100644 index 0000000..cb4533a Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_2.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_3.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_3.mmd new file mode 100644 index 0000000..cfa2cb0 --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_3.mmd @@ -0,0 +1,64 @@ +graph TB + subgraph "统一平台层" + UP1[单点登录] + UP2[系统管理] + UP3[用户权限] + UP4[组织架构] + end + + subgraph "核心业务层" + CB1[客户管理] + CB2[抄表管理] + CB3[收费管理] + CB4[账务管理] + CB5[表务管理] + CB6[报装管理] + end + + subgraph "增值服务层" + VS1[客户服务] + VS2[移动应用] + VS3[微信服务] + VS4[电子发票] + VS5[在线支付] + end + + subgraph "数据服务层" + DS1[统计分析] + DS2[报表查询] + DS3[数据导出] + DS4[决策支持] + end + + subgraph "集成服务层" + IS1[银行接口] + IS2[支付接口] + IS3[短信接口] + IS4[集抄接口] + IS5[政务接口] + end + + UP1 --> CB1 + UP2 --> CB2 + UP3 --> CB3 + UP4 --> CB4 + + CB1 --> VS1 + CB2 --> VS2 + CB3 --> VS3 + CB4 --> VS4 + CB5 --> VS5 + CB6 --> VS1 + + VS1 --> DS1 + VS2 --> DS2 + VS3 --> DS3 + VS4 --> DS4 + VS5 --> DS1 + + DS1 --> IS1 + DS2 --> IS2 + DS3 --> IS3 + DS4 --> IS4 + DS1 --> IS5 + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_3.png b/temp_mermaid_water_biz_module_design_35098/diagram_3.png new file mode 100644 index 0000000..2a71e40 Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_3.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_4.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_4.mmd new file mode 100644 index 0000000..26d45c2 --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_4.mmd @@ -0,0 +1,39 @@ +flowchart TD + Start([开始抄表周期]) --> BookPlan[制定抄表计划] + BookPlan --> CreateBook[生成抄表册本] + CreateBook --> AssignReader[分配抄表员] + + AssignReader --> ReadingStart[开始抄表] + ReadingStart --> ReadingType{抄表方式} + + ReadingType -->|人工抄表| ManualReading[现场抄表录入] + ReadingType -->|远程抄表| RemoteReading[远程采集数据] + ReadingType -->|客户自报| SelfReporting[客户自主上报] + + ManualReading --> DataValidation[数据校验] + RemoteReading --> DataValidation + SelfReporting --> DataValidation + + DataValidation --> ValidationResult{校验结果} + ValidationResult -->|异常| ExceptionHandle[异常处理] + ValidationResult -->|正常| DataReview[数据复核] + + ExceptionHandle --> ReviewException[人工审核异常] + ReviewException --> DataReview + + DataReview --> ReviewResult{复核结果} + ReviewResult -->|退回| ReadingStart + ReviewResult -->|通过| BillGeneration[生成账单] + + BillGeneration --> CalcWaterFee[计算水费] + CalcWaterFee --> CalcSewageFee[计算污水费] + CalcSewageFee --> CalcOtherFee[计算其他费用] + CalcOtherFee --> BillReview[账单审核] + + BillReview --> BillResult{审核结果} + BillResult -->|退回| BillGeneration + BillResult -->|通过| BillConfirm[账单确认] + + BillConfirm --> SendNotification[发送缴费通知] + SendNotification --> End([完成开账]) + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_4.png b/temp_mermaid_water_biz_module_design_35098/diagram_4.png new file mode 100644 index 0000000..08605ab Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_4.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_5.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_5.mmd new file mode 100644 index 0000000..7448c83 --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_5.mmd @@ -0,0 +1,47 @@ +flowchart TD + Start([客户缴费]) --> QueryCustomer[查询客户信息] + QueryCustomer --> CustomerExists{客户是否存在} + CustomerExists -->|否| ErrorReturn[返回错误信息] + CustomerExists -->|是| QueryBills[查询欠费账单] + + QueryBills --> BillExists{是否有欠费} + BillExists -->|否| NoDebt[无欠费提示] + BillExists -->|是| ShowBills[显示账单列表] + + ShowBills --> SelectBills[选择缴费账单] + SelectBills --> CalcAmount[计算缴费金额] + CalcAmount --> SelectPayMethod[选择支付方式] + + SelectPayMethod --> PaymentType{支付方式} + PaymentType -->|现金| CashPayment[现金收费] + PaymentType -->|银行卡| BankCardPay[银行卡支付] + PaymentType -->|在线支付| OnlinePayment[在线支付] + PaymentType -->|预存款| PrepaidPayment[预存款支付] + + CashPayment --> ValidatePayment[验证收费金额] + BankCardPay --> ValidatePayment + OnlinePayment --> ThirdPartyPay[第三方支付] + PrepaidPayment --> CheckBalance[检查预存余额] + + ThirdPartyPay --> PaymentCallback[支付回调] + PaymentCallback --> ValidatePayment + + CheckBalance --> BalanceOK{余额是否充足} + BalanceOK -->|否| InsufficientBalance[余额不足] + BalanceOK -->|是| ValidatePayment + + ValidatePayment --> PaymentSuccess{支付成功} + PaymentSuccess -->|否| PaymentFailed[支付失败处理] + PaymentSuccess -->|是| UpdateAccount[更新账户状态] + + UpdateAccount --> UpdateBills[更新账单状态] + UpdateBills --> GenerateReceipt[生成收费凭证] + GenerateReceipt --> PrintReceipt[打印收据] + PrintReceipt --> SendNotification[发送缴费通知] + SendNotification --> Complete([完成缴费]) + + PaymentFailed --> End([结束]) + InsufficientBalance --> End + ErrorReturn --> End + NoDebt --> End + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_5.png b/temp_mermaid_water_biz_module_design_35098/diagram_5.png new file mode 100644 index 0000000..f46b2cb Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_5.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_6.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_6.mmd new file mode 100644 index 0000000..59ba44f --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_6.mmd @@ -0,0 +1,36 @@ +flowchart TD + Start(["账务处理请求"]) --> CheckAuth["权限验证"] + CheckAuth --> AuthOK{"权限验证"} + AuthOK -->|失败| AuthError["权限错误"] + AuthOK -->|成功| ProcessType{"处理类型"} + + ProcessType -->|调账| AdjustAccount["账务调整"] + ProcessType -->|退款| RefundProcess["退款处理"] + ProcessType -->|销账| WriteOff["销账处理"] + ProcessType -->|预存调整| PrepaidAdjust["预存调整"] + + AdjustAccount --> ValidateAdjust["验证调整数据"] + RefundProcess --> ValidateRefund["验证退款数据"] + WriteOff --> ValidateWriteOff["验证销账数据"] + PrepaidAdjust --> ValidatePrepaid["验证预存数据"] + + ValidateAdjust --> AdjustApproval["调账审批"] + ValidateRefund --> RefundApproval["退款审批"] + ValidateWriteOff --> WriteOffApproval["销账审批"] + ValidatePrepaid --> PrepaidApproval["预存审批"] + + AdjustApproval --> ApprovalResult{"审批结果"} + RefundApproval --> ApprovalResult + WriteOffApproval --> ApprovalResult + PrepaidApproval --> ApprovalResult + + ApprovalResult -->|拒绝| ApprovalReject["审批拒绝"] + ApprovalResult -->|通过| ExecuteProcess["执行处理"] + + ExecuteProcess --> UpdateAccount["更新账户"] + UpdateAccount --> RecordLog["记录日志"] + RecordLog --> Complete(["处理完成"]) + + AuthError --> End(["结束"]) + ApprovalReject --> End + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_6.png b/temp_mermaid_water_biz_module_design_35098/diagram_6.png new file mode 100644 index 0000000..d9c0579 Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_6.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_7.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_7.mmd new file mode 100644 index 0000000..d394e84 --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_7.mmd @@ -0,0 +1,24 @@ +flowchart TD + Start([发票业务]) --> InvoiceType{发票类型} + + InvoiceType -->|纸质发票| PaperInvoice[纸质发票管理] + InvoiceType -->|电子发票| EInvoice[电子发票管理] + + PaperInvoice --> PaperStock[发票库存管理] + PaperStock --> PaperPrint[发票打印] + PaperPrint --> PaperRecord[打印记录] + + EInvoice --> EInvoiceGenerate[电子发票生成] + EInvoiceGenerate --> EInvoiceSign[电子签章] + EInvoiceSign --> EInvoiceSend[发票推送] + + PaperRecord --> InvoiceQuery[发票查询] + EInvoiceSend --> InvoiceQuery + + InvoiceQuery --> InvoiceCancel{需要作废?} + InvoiceCancel -->|是| CancelInvoice[发票作废] + InvoiceCancel -->|否| Complete([完成]) + + CancelInvoice --> CancelRecord[作废记录] + CancelRecord --> Complete + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_7.png b/temp_mermaid_water_biz_module_design_35098/diagram_7.png new file mode 100644 index 0000000..6920f6a Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_7.png differ diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_8.mmd b/temp_mermaid_water_biz_module_design_35098/diagram_8.mmd new file mode 100644 index 0000000..fe705d7 --- /dev/null +++ b/temp_mermaid_water_biz_module_design_35098/diagram_8.mmd @@ -0,0 +1,31 @@ +graph TB + subgraph "前端应用" + F1[管理后台
yudao-ui-admin-vue3] + F2[移动端
uni-app] + F3[客户端
微信小程序] + end + + subgraph "后端服务" + B1[认证服务
Spring Security] + B2[业务服务
RuoYi-Vue-Pro] + B3[网关服务
Spring Cloud Gateway] + end + + subgraph "数据存储" + D1[(OpenGauss 5.0+)] + D2[(Redis 6.0)] + D3[MinIO文件存储] + end + + F1 --> B3 + F2 --> B3 + F3 --> B3 + + B3 --> B1 + B3 --> B2 + + B1 --> D2 + B2 --> D1 + B2 --> D2 + B2 --> D3 + diff --git a/temp_mermaid_water_biz_module_design_35098/diagram_8.png b/temp_mermaid_water_biz_module_design_35098/diagram_8.png new file mode 100644 index 0000000..093b871 Binary files /dev/null and b/temp_mermaid_water_biz_module_design_35098/diagram_8.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_1.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_1.mmd new file mode 100644 index 0000000..f777e3c --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_1.mmd @@ -0,0 +1,70 @@ +graph TB + subgraph "外部威胁" + THREAT1[网络攻击] + THREAT2[恶意软件] + THREAT3[数据泄露] + THREAT4[内部威胁] + end + + subgraph "安全防护层" + subgraph "边界安全" + WAF[Web应用防火墙] + FW[网络防火墙] + IPS[入侵防护系统] + VPN[VPN网关] + end + + subgraph "应用安全" + AUTH[身份认证] + AUTHZ[访问控制] + AUDIT[操作审计] + ENCRYPT[数据加密] + end + + subgraph "数据安全" + TDE[透明数据加密] + RLS[行级安全] + MASK[数据脱敏] + BACKUP[安全备份] + end + + subgraph "运维安全" + MONITOR[安全监控] + LOG[日志分析] + ALERT[告警响应] + PATCH[安全更新] + end + end + + subgraph "核心资产" + APP[水务营收系统] + DB[OpenGauss数据库] + FILE[文件存储] + API[接口服务] + end + + THREAT1 --> WAF + THREAT2 --> FW + THREAT3 --> IPS + THREAT4 --> VPN + + WAF --> AUTH + FW --> AUTHZ + IPS --> AUDIT + VPN --> ENCRYPT + + AUTH --> TDE + AUTHZ --> RLS + AUDIT --> MASK + ENCRYPT --> BACKUP + + TDE --> MONITOR + RLS --> LOG + MASK --> ALERT + BACKUP --> PATCH + + MONITOR --> APP + LOG --> DB + ALERT --> FILE + PATCH --> API + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_1.png b/temp_mermaid_water_biz_security_design_35098/diagram_1.png new file mode 100644 index 0000000..ea59471 Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_1.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_2.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_2.mmd new file mode 100644 index 0000000..cd67611 --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_2.mmd @@ -0,0 +1,46 @@ +graph TB + subgraph "OpenGauss安全特性" + subgraph "身份认证" + PWD[密码认证] + CERT[证书认证] + LDAP_AUTH[LDAP认证] + KERBEROS[Kerberos认证] + end + + subgraph "访问控制" + RBAC_DB[基于角色的访问控制] + RLS_DB[行级安全策略] + CLS_DB[列级访问控制] + SCHEMA[模式权限控制] + end + + subgraph "数据加密" + TDE_SM4[TDE透明加密
SM4国密算法] + SSL_SM[SSL传输加密
SM2/SM3/SM4] + FIELD_ENC[字段级加密] + BACKUP_ENC[备份加密] + end + + subgraph "审计监控" + AUDIT_LOG[操作审计日志] + LOGIN_LOG[登录审计] + DDL_LOG[DDL操作记录] + SECURITY_LOG[安全事件日志] + end + end + + PWD --> RBAC_DB + CERT --> RLS_DB + LDAP_AUTH --> CLS_DB + KERBEROS --> SCHEMA + + RBAC_DB --> TDE_SM4 + RLS_DB --> SSL_SM + CLS_DB --> FIELD_ENC + SCHEMA --> BACKUP_ENC + + TDE_SM4 --> AUDIT_LOG + SSL_SM --> LOGIN_LOG + FIELD_ENC --> DDL_LOG + BACKUP_ENC --> SECURITY_LOG + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_2.png b/temp_mermaid_water_biz_security_design_35098/diagram_2.png new file mode 100644 index 0000000..30919ca Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_2.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_3.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_3.mmd new file mode 100644 index 0000000..c05b020 --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_3.mmd @@ -0,0 +1,76 @@ +graph TB + subgraph "外网区域" + INTERNET[互联网] + CDN[CDN加速] + DNS[DNS服务] + end + + subgraph "边界防护" + WAF[Web应用防火墙
国产WAF产品] + FW_BORDER[边界防火墙
安全审计] + IPS[入侵防护系统
威胁检测] + DPI[深度包检测
流量分析] + end + + subgraph "DMZ区域" + LB[负载均衡器
SSL卸载] + WEB1[Web服务器1] + WEB2[Web服务器2] + PROXY[反向代理] + end + + subgraph "内网安全" + FW_INTERNAL[内部防火墙] + VLAN_APP[应用VLAN] + VLAN_DB[数据库VLAN] + VLAN_MGT[管理VLAN] + end + + subgraph "应用层" + APP1[应用服务器1] + APP2[应用服务器2] + APP3[应用服务器3] + end + + subgraph "数据层" + DB_MASTER[OpenGauss主库] + DB_SLAVE[OpenGauss从库] + REDIS[Redis集群] + end + + subgraph "管理层" + JUMP[跳板机] + MONITOR[监控服务器] + LOG[日志服务器] + end + + INTERNET --> CDN + CDN --> DNS + DNS --> WAF + WAF --> FW_BORDER + FW_BORDER --> IPS + IPS --> DPI + DPI --> LB + + LB --> WEB1 + LB --> WEB2 + WEB1 --> PROXY + WEB2 --> PROXY + + PROXY --> FW_INTERNAL + FW_INTERNAL --> VLAN_APP + FW_INTERNAL --> VLAN_DB + FW_INTERNAL --> VLAN_MGT + + VLAN_APP --> APP1 + VLAN_APP --> APP2 + VLAN_APP --> APP3 + + VLAN_DB --> DB_MASTER + VLAN_DB --> DB_SLAVE + VLAN_DB --> REDIS + + VLAN_MGT --> JUMP + VLAN_MGT --> MONITOR + VLAN_MGT --> LOG + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_3.png b/temp_mermaid_water_biz_security_design_35098/diagram_3.png new file mode 100644 index 0000000..c30c60f Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_3.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_4.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_4.mmd new file mode 100644 index 0000000..146a18e --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_4.mmd @@ -0,0 +1,33 @@ +graph TB + subgraph "数据分类" + SECRET[机密级
重要业务数据] + INTERNAL[内部级
一般业务数据] + PUBLIC[公开级
公开业务数据] + end + + subgraph "水务业务数据" + CUSTOMER[客户身份信息
机密级] + METER[水表计量数据
内部级] + BILLING[收费账务数据
机密级] + REPORT[统计报表数据
内部级] + CONFIG[系统配置数据
内部级] + LOG[日志审计数据
内部级] + end + + subgraph "保护措施" + ENC_HIGH[强加密
SM4+数字签名] + ENC_MID[访问控制
权限管理] + ENC_LOW[公开访问
无特殊保护] + end + + SECRET --> ENC_HIGH + INTERNAL --> ENC_MID + PUBLIC --> ENC_LOW + + CUSTOMER --> SECRET + BILLING --> SECRET + METER --> INTERNAL + REPORT --> INTERNAL + CONFIG --> INTERNAL + LOG --> INTERNAL + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_4.png b/temp_mermaid_water_biz_security_design_35098/diagram_4.png new file mode 100644 index 0000000..8240c94 Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_4.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_5.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_5.mmd new file mode 100644 index 0000000..473a69c --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_5.mmd @@ -0,0 +1,42 @@ +graph TB + subgraph "数据采集层" + AGENT1[系统日志采集] + AGENT2[应用日志采集] + AGENT3[数据库日志采集] + AGENT4[网络流量采集] + end + + subgraph "数据处理层" + KAFKA[消息队列
Kafka集群] + STREAM[流处理
Flink/Storm] + ETL[数据清洗
Logstash] + end + + subgraph "存储分析层" + ES[Elasticsearch
日志存储] + SIEM[安全信息事件管理
SIEM平台] + AI[智能分析
机器学习] + end + + subgraph "可视化层" + DASHBOARD[监控仪表盘
Grafana] + ALERT[告警系统
AlertManager] + REPORT[安全报告
自动生成] + end + + AGENT1 --> KAFKA + AGENT2 --> KAFKA + AGENT3 --> KAFKA + AGENT4 --> KAFKA + + KAFKA --> STREAM + STREAM --> ETL + ETL --> ES + + ES --> SIEM + SIEM --> AI + AI --> DASHBOARD + + DASHBOARD --> ALERT + ALERT --> REPORT + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_5.png b/temp_mermaid_water_biz_security_design_35098/diagram_5.png new file mode 100644 index 0000000..61e1159 Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_5.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_6.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_6.mmd new file mode 100644 index 0000000..6e7366a --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_6.mmd @@ -0,0 +1,18 @@ +graph LR + DISCOVER[漏洞发现] --> ASSESS[风险评估] + ASSESS --> PLAN[补丁计划] + PLAN --> TEST[测试验证] + TEST --> DEPLOY[生产部署] + DEPLOY --> VERIFY[部署验证] + VERIFY --> DOCUMENT[文档记录] + + subgraph "评估标准" + HIGH[高危
24小时内] + MEDIUM[中危
7天内] + LOW[低危
30天内] + end + + ASSESS --> HIGH + ASSESS --> MEDIUM + ASSESS --> LOW + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_6.png b/temp_mermaid_water_biz_security_design_35098/diagram_6.png new file mode 100644 index 0000000..adb908a Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_6.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_7.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_7.mmd new file mode 100644 index 0000000..a380a91 --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_7.mmd @@ -0,0 +1,30 @@ +graph TB + INCIDENT[安全事件发生] --> DETECT[事件检测] + DETECT --> REPORT[事件上报] + REPORT --> ASSESS[影响评估] + ASSESS --> RESPONSE[应急响应] + + subgraph "应急响应措施" + ISOLATE[系统隔离] + PRESERVE[证据保全] + RECOVER[系统恢复] + INVESTIGATE[调查分析] + end + + subgraph "后续处理" + LESSON[经验总结] + IMPROVE[流程改进] + TRAIN[培训加强] + DOC[文档更新] + end + + RESPONSE --> ISOLATE + RESPONSE --> PRESERVE + RESPONSE --> RECOVER + RESPONSE --> INVESTIGATE + + INVESTIGATE --> LESSON + LESSON --> IMPROVE + IMPROVE --> TRAIN + TRAIN --> DOC + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_7.png b/temp_mermaid_water_biz_security_design_35098/diagram_7.png new file mode 100644 index 0000000..cd34e38 Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_7.png differ diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_8.mmd b/temp_mermaid_water_biz_security_design_35098/diagram_8.mmd new file mode 100644 index 0000000..6279262 --- /dev/null +++ b/temp_mermaid_water_biz_security_design_35098/diagram_8.mmd @@ -0,0 +1,39 @@ +graph TB + CEO[总经理
安全最高责任人] + CISO[信息安全负责人
CISO] + + subgraph "安全管理委员会" + IT_DIR[IT总监] + SECURITY_DIR[安全总监] + COMPLIANCE[合规负责人] + LEGAL[法务负责人] + end + + subgraph "安全执行团队" + SEC_ADMIN[安全管理员] + SYS_ADMIN[系统管理员] + DBA[数据库管理员] + NET_ADMIN[网络管理员] + end + + subgraph "业务安全责任人" + BUS_OWNER[业务负责人] + DATA_OWNER[数据负责人] + USER_ADMIN[用户管理员] + end + + CEO --> CISO + CISO --> IT_DIR + CISO --> SECURITY_DIR + CISO --> COMPLIANCE + CISO --> LEGAL + + IT_DIR --> SEC_ADMIN + IT_DIR --> SYS_ADMIN + IT_DIR --> DBA + IT_DIR --> NET_ADMIN + + SECURITY_DIR --> BUS_OWNER + SECURITY_DIR --> DATA_OWNER + SECURITY_DIR --> USER_ADMIN + diff --git a/temp_mermaid_water_biz_security_design_35098/diagram_8.png b/temp_mermaid_water_biz_security_design_35098/diagram_8.png new file mode 100644 index 0000000..1066301 Binary files /dev/null and b/temp_mermaid_water_biz_security_design_35098/diagram_8.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_1.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_1.mmd new file mode 100644 index 0000000..dd4e688 --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_1.mmd @@ -0,0 +1,47 @@ +graph TB + subgraph USER["用户层"] + A1[Web管理端
yudao-ui-admin-vue3] + A2[移动抄表端
uni-app] + A3[客户微信端
微信小程序] + A4[客户支付宝端
支付宝小程序] + end + + subgraph GATEWAY["网关层"] + B1[Nginx负载均衡] + B2[API网关
统一认证/权限控制] + end + + subgraph APP["应用层"] + C1[营收管理
RuoYi-Vue-Pro] + C2[客户服务
RuoYi-Vue-Pro] + C3[表务管理
RuoYi-Vue-Pro] + C4[统计分析
RuoYi-Vue-Pro] + end + + subgraph SERVICE["服务层"] + D1[权限服务
Spring Security] + D2[工作流服务
Flowable] + D3[消息服务
Redis MQ] + D4[文件服务
MinIO/OSS] + end + + subgraph DATA["数据层"] + E1[(OpenGauss 5.0+
主从架构)] + E2[(Redis 6.0
集群缓存)] + E3[文件存储
分布式存储] + end + + subgraph EXTERNAL["外部接口"] + F1[银行接口
代扣/托收] + F2[支付接口
微信/支付宝] + F3[短信接口
阿里云/腾讯云] + F4[物联网接口
智能水表] + end + + %% 层级间调用关系 + USER -.->|请求访问| GATEWAY + GATEWAY -.->|负载均衡
路由转发| APP + APP -.->|服务调用| SERVICE + APP -.->|外部集成| EXTERNAL + SERVICE -.->|数据访问| DATA + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_10.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_10.mmd new file mode 100644 index 0000000..24c185d --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_10.mmd @@ -0,0 +1,27 @@ +graph + subgraph ENCRYPT["加密层级"] + direction TB + L1[传输层加密
SSL/TLS/国密SM] + L2[存储层加密
TDE透明数据加密] + L3[字段级加密
敏感字段加密] + L4[备份加密
备份文件加密] + end + + subgraph KEYMANAGE["密钥管理"] + direction TB + KMS[密钥管理系统
Key Management] + HSM[硬件安全模块
Hardware Security] + ROT[密钥轮换
Key Rotation] + end + + subgraph GUOMI["国密算法"] + direction TB + SM2[SM2椭圆曲线
非对称加密] + SM3[SM3哈希算法
消息摘要] + SM4[SM4分组密码
对称加密] + end + + %% 安全层级调用关系 + ENCRYPT -.->|密钥依赖
加密管理| KEYMANAGE + KEYMANAGE -.->|算法调用
国密支持| GUOMI + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_10.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_10.png new file mode 100644 index 0000000..5641092 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_10.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_11.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_11.mmd new file mode 100644 index 0000000..30deaf1 --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_11.mmd @@ -0,0 +1,29 @@ +graph + subgraph AUTHENTICATION["身份认证"] + direction TB + AUTH1[用户名密码认证] + AUTH2[LDAP集成认证] + AUTH3[Kerberos认证] + AUTH4[证书认证] + end + + subgraph AUTHORIZATION["权限控制"] + direction TB + RBAC[基于角色的权限控制
Role-Based Access Control] + RLS[行级安全策略
Row Level Security] + CLS[列级安全控制
Column Level Security] + TENANT[多租户数据隔离
Multi-Tenant Isolation] + end + + subgraph AUDITING["审计监控"] + direction TB + AUDIT[操作审计日志
Audit Logging] + MONITOR[实时安全监控
Security Monitoring] + ALERT[安全告警
Security Alert] + REPORT[合规报告
Compliance Report] + end + + %% 安全控制流程 + AUTHENTICATION -.->|身份验证
授权检查| AUTHORIZATION + AUTHORIZATION -.->|权限监控
操作审计| AUDITING + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_11.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_11.png new file mode 100644 index 0000000..9adc8bd Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_11.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_2.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_2.mmd new file mode 100644 index 0000000..7bae10c --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_2.mmd @@ -0,0 +1,51 @@ +graph TB + subgraph DMZ["DMZ区域"] + subgraph "负载均衡集群" + LB1[负载均衡器
Nginx Cluster] + WAF[Web应用防火墙] + end + end + + subgraph APPZONE["应用服务区"] + subgraph "Web服务集群" + WEB1[Web服务器1
8核32G] + WEB2[Web服务器2
8核32G] + end + + subgraph "应用服务集群" + APP1[应用服务器1
16核64G] + APP2[应用服务器2
16核64G] + end + end + + subgraph DATAZONE["数据服务区"] + subgraph "数据库集群" + DB1[OpenGauss主库
32核128G] + DB2[OpenGauss从库
32核128G] + end + + subgraph "缓存集群" + REDIS1[Redis主节点
16核32G] + REDIS2[Redis从节点
16核32G] + REDIS3[Redis哨兵
8核16G] + end + + subgraph "文件存储" + FILE1[文件服务器1
8核32G 10TB] + FILE2[文件服务器2
8核32G 10TB] + end + end + + subgraph MGMT["管理服务区"] + MONITOR[监控服务器
8核16G] + BACKUP[备份服务器
8核32G 20TB] + JUMP[跳板服务器
4核8G] + end + + %% 区域间调用关系 + Internet -.->|外网访问| DMZ + DMZ -.->|负载均衡
安全过滤| APPZONE + APPZONE -.->|数据访问
业务处理| DATAZONE + MGMT -.->|监控管理
备份恢复| DATAZONE + MGMT -.->|系统监控
运维管理| APPZONE + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_2.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_2.png new file mode 100644 index 0000000..9cfcef9 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_2.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_3.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_3.mmd new file mode 100644 index 0000000..dc77acf --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_3.mmd @@ -0,0 +1,57 @@ +graph + subgraph FRONTEND["🏷 前端技术栈"] + direction TB + FE1["Vue 3.2+ TypeScript"] + FE2["Element Plus UI"] + FE3["Vite 构建工具"] + FE4["Pinia 状态管理"] + FE5["Vue Router 路由"] + FE6["Axios HTTP请求"] + FE7["ECharts 图表"] + end + + subgraph BACKEND["📦 后端技术栈"] + direction TB + BE1["Spring Boot 3.x"]:::spring + BE2["Spring Security"]:::security + BE3["MyBatis Plus"]:::orm + BE4["Redis 缓存"]:::db + BE5["OpenGauss DB"]:::db + BE6["Knife4j 文档"] + BE7["Jackson JSON"] + BE8["Maven 管理"] + end + + subgraph MIDDLEWARE["⚙️ 中间件服务"] + direction TB + MW1["Nginx LB"] + MW2["Redis集群"] + MW3["Flowable工作流"] + MW4["Quartz定时"] + MW5["MinIO存储"] + MW6["RocketMQ"] + MW7["ElasticSearch"] + MW8["Sentinel限流"] + end + + subgraph MOBILE["📱 移动应用"] + direction TB + MB1["uni-app"] + MB2["uView UI"] + MB3["微信小程序"] + MB4["支付宝小程序"] + MB5["H5响应式"] + MB6["高德地图SDK"] + MB7["NFC设备接口"] + end + + %% 技术栈间调用关系 + FRONTEND -.->|HTTP请求
API调用| BACKEND + MOBILE -.->|跨平台调用
API集成| BACKEND + BACKEND -.->|服务集成
中间件调用| MIDDLEWARE + + classDef spring fill:#6db33f,color:white + classDef security fill:#b5e6c0 + classDef orm fill:#c7b3e5 + classDef db fill:#f9d27d + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_3.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_3.png new file mode 100644 index 0000000..ac3e70d Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_3.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_4.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_4.mmd new file mode 100644 index 0000000..32caa20 --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_4.mmd @@ -0,0 +1,55 @@ +flowchart TD + subgraph COLLECT["数据采集层"] + A1[移动抄表APP
数据采集] + A2[智能水表
远程数据] + A3[Web管理端
业务录入] + A4[客户端小程序
用户数据] + A5[外部系统
接口数据] + end + + subgraph ACCESS["数据接入层"] + B1[API网关
数据验证] + B2[数据清洗
格式转换] + B3[消息队列
异步处理] + B4[数据缓存
临时存储] + end + + subgraph PROCESS["业务处理层"] + C1[抄表服务
水量计算] + C2[收费服务
账单生成] + C3[账务服务
财务处理] + C4[工单服务
流程处理] + C5[统计服务
数据分析] + end + + subgraph STORAGE["数据存储层"] + D1[(OpenGauss主库
核心业务数据)] + D2[(OpenGauss从库
查询数据)] + D3[(Redis缓存
热点数据)] + D4[文件存储
附件图片] + D5[(备份库
历史数据)] + end + + subgraph SERVICE["数据服务层"] + E1[查询服务
数据检索] + E2[报表服务
统计分析] + E3[接口服务
对外开放] + E4[推送服务
消息通知] + end + + subgraph PRESENT["数据展现层"] + F1[管理后台
业务操作] + F2[统计大屏
可视化展示] + F3[移动端
现场作业] + F4[客户端
自助服务] + F5[第三方系统
数据集成] + end + + %% 数据流向关系 + COLLECT -.->|数据采集
格式验证| ACCESS + ACCESS -.->|数据接入
清洗转换| PROCESS + PROCESS -.->|业务处理
数据持久化| STORAGE + STORAGE -.->|数据查询
统计分析| SERVICE + SERVICE -.->|数据服务
接口调用| PRESENT + PRESENT -.->|用户反馈
业务交互| PROCESS + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_4.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_4.png new file mode 100644 index 0000000..dedc125 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_4.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_5.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_5.mmd new file mode 100644 index 0000000..240ac4f --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_5.mmd @@ -0,0 +1,31 @@ +graph TB + subgraph FRAMEWORK["跨平台框架"] + M1[uni-app 3.x] + M2[Vue 3 Composition API] + M3[TypeScript支持] + end + + subgraph UIKIT["UI组件库"] + N1[uView UI 2.0] + N2[uni-ui组件] + N3[自定义水务组件] + end + + subgraph DEVICE["设备能力"] + P1[相机API
水表拍照] + P2[NFC读取
水表标签] + P3[GPS定位
抄表轨迹] + P4[扫码API
二维码扫描] + end + + subgraph NETWORK["网络通信"] + Q1[uni.request
HTTP请求] + Q2[WebSocket
实时通信] + Q3[文件上传
图片处理] + end + + %% 移动架构调用关系 + FRAMEWORK -.->|UI渲染
组件调用| UIKIT + FRAMEWORK -.->|设备调用
原生能力| DEVICE + FRAMEWORK -.->|网络通信
数据交互| NETWORK + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_5.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_5.png new file mode 100644 index 0000000..0e83ab3 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_5.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_6.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_6.mmd new file mode 100644 index 0000000..0bb9b3b --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_6.mmd @@ -0,0 +1,35 @@ +graph TD + subgraph ACCESS["接入层"] + GW[API网关] + AUTH[认证服务] + end + + subgraph BUSINESS["业务服务层"] + SYS[系统服务] + CUST[客户服务] + READ[抄表服务] + BILL[账单服务] + PAY[收费服务] + ORDER[工单服务] + RPT[报表服务] + end + + subgraph SUPPORT["支撑服务层"] + METER[水表管理] + WF[工作流引擎] + PAY_GW[支付网关] + IOT[物联网] + end + + subgraph DATA["数据存储层"] + DB[(OpenGauss数据库)] + REDIS[(Redis缓存)] + FILE_STORE[文件存储] + end + + %% 层级间的调用关系 + ACCESS -.->|请求路由
认证授权| BUSINESS + BUSINESS -.->|服务调用| SUPPORT + BUSINESS -.->|数据访问| DATA + SUPPORT -.->|数据访问| DATA + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_6.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_6.png new file mode 100644 index 0000000..6de0684 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_6.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_7.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_7.mmd new file mode 100644 index 0000000..0999bbd --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_7.mmd @@ -0,0 +1,38 @@ +graph TB + subgraph REGISTRY["服务发现与注册"] + NACOS[Nacos注册中心
服务注册/发现/配置] + end + + subgraph MESH["服务网格层"] + subgraph BALANCE["负载均衡"] + LB[Ribbon负载均衡
客户端负载均衡] + FEIGN[OpenFeign
服务间调用] + end + + subgraph PROTECTION["容错保护"] + CB[Sentinel熔断器
流量控制/熔断降级] + RETRY[重试机制
失败重试] + end + + subgraph TRACING["链路追踪"] + TRACE[SkyWalking
分布式链路追踪] + METRIC[Micrometer
指标收集] + end + end + + subgraph CONFIG_MGMT["配置管理"] + CONFIG[Nacos Config
配置中心] + SECRET[配置加密
敏感信息保护] + end + + subgraph MONITORING["监控告警"] + MONITOR[Spring Boot Admin
应用监控] + ALERT[告警系统
异常通知] + LOG[ELK日志系统
日志聚合分析] + end + + %% 服务治理调用关系 + REGISTRY -.->|服务发现
配置下发| MESH + MESH -.->|配置获取
服务注册| CONFIG_MGMT + MESH -.->|监控数据
链路追踪| MONITORING + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_7.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_7.png new file mode 100644 index 0000000..11279c6 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_7.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_8.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_8.mmd new file mode 100644 index 0000000..f6e14d9 --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_8.mmd @@ -0,0 +1,30 @@ +graph + subgraph DBCLUSTER["OpenGauss高可用集群"] + MASTER[("OpenGauss主库
Primary Node
读写操作")] + STANDBY[("OpenGauss备库
Standby Node
只读操作")] + CASCADE[("OpenGauss级联备库
Cascade Standby
负载分担")] + + MASTER -.->|流复制| STANDBY + STANDBY -.->|级联复制| CASCADE + end + + subgraph APPLAYER["应用层"] + APP1[应用服务器1] + APP2[应用服务器2] + APP3[应用服务器3] + end + + subgraph POOLING["连接池"] + POOL[连接池
HikariCP
Druid] + end + + subgraph MANAGEMENT["监控管理"] + MON[OpenGauss Monitor
性能监控] + BACKUP[定时备份
gs_backup] + end + + %% 高可用架构调用关系 + APPLAYER -.->|连接请求
负载均衡| POOLING + POOLING -.->|数据访问
读写分离| DBCLUSTER + MANAGEMENT -.->|监控管理
备份恢复| DBCLUSTER + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_8.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_8.png new file mode 100644 index 0000000..9d55e18 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_8.png differ diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_9.mmd b/temp_mermaid_water_biz_system_architecture_35098/diagram_9.mmd new file mode 100644 index 0000000..3568180 --- /dev/null +++ b/temp_mermaid_water_biz_system_architecture_35098/diagram_9.mmd @@ -0,0 +1,31 @@ +graph TB + subgraph DISTRIBUTED["OpenGauss分布式架构"] + subgraph COORDINATOR["协调节点"] + CN1[协调节点1
Coordinator Node] + CN2[协调节点2
Coordinator Node] + end + + subgraph DATANODE1["数据节点组1"] + DN1_1[数据节点1-主
Datanode Primary] + DN1_2[数据节点1-备
Datanode Standby] + DN1_1 -.->|主备同步| DN1_2 + end + + subgraph DATANODE2["数据节点组2"] + DN2_1[数据节点2-主
Datanode Primary] + DN2_2[数据节点2-备
Datanode Standby] + DN2_1 -.->|主备同步| DN2_2 + end + + subgraph GTM_CLUSTER["GTM节点"] + GTM[全局事务管理器
GTM Master] + GTM_S[GTM备节点
GTM Standby] + GTM -.->|备份| GTM_S + end + end + + %% 分布式架构调用关系 + COORDINATOR -.->|分片路由
查询协调| DATANODE1 + COORDINATOR -.->|分片路由
查询协调| DATANODE2 + COORDINATOR -.->|事务管理
全局一致性| GTM_CLUSTER + diff --git a/temp_mermaid_water_biz_system_architecture_35098/diagram_9.png b/temp_mermaid_water_biz_system_architecture_35098/diagram_9.png new file mode 100644 index 0000000..f77ed53 Binary files /dev/null and b/temp_mermaid_water_biz_system_architecture_35098/diagram_9.png differ diff --git a/water_biz_deployment_design.md b/water_biz_deployment_design.md index 00e2f76..0d666da 100644 --- a/water_biz_deployment_design.md +++ b/water_biz_deployment_design.md @@ -41,66 +41,50 @@ ### 总体部署架构 ```mermaid -graph TB - subgraph "外部用户访问" +graph + subgraph EXTERNAL["外部用户访问"] + direction TB A[移动端用户] B[PC端用户] C[第三方系统] end - subgraph "负载均衡层" + subgraph LOADBALANCER["负载均衡层"] + direction TB D[主负载均衡器] E[备负载均衡器] end - subgraph "Web服务层" + subgraph WEBSERVICE["Web服务层"] + direction TB F[Web服务器1] G[Web服务器2] H[Web服务器3] end - subgraph "应用服务层" + subgraph APPSERVICE["应用服务层"] + direction TB I[应用服务器1] J[应用服务器2] K[应用服务器3] L[应用服务器4] end - subgraph "数据服务层" + subgraph DATASERVICE["数据服务层"] + direction TB M[(主数据库
OpenGauss)] N[(备数据库
OpenGauss)] O[缓存服务器
Redis] P[文件服务器
MinIO] + + M -.->|数据同步| N end - A --> D - B --> D - C --> D - D --> F - D --> G - D --> H - E --> F - E --> G - E --> H - F --> I - F --> J - G --> K - G --> L - H --> I - H --> J - I --> M - J --> M - K --> M - L --> M - I --> O - J --> O - K --> O - L --> O - I --> P - J --> P - K --> P - L --> P - M --> N + %% 层级间调用关系 + EXTERNAL -.->|用户请求
接口调用| LOADBALANCER + LOADBALANCER -.->|负载分发
故障切换| WEBSERVICE + WEBSERVICE -.->|业务请求
服务调用| APPSERVICE + APPSERVICE -.->|数据访问
缓存读写
文件操作| DATASERVICE ``` ### 环境架构设计 @@ -175,19 +159,26 @@ graph TB #### 核心服务组件 ```mermaid -graph LR - subgraph "容器化服务" +graph + direction TB + subgraph FRONTEND["前端服务层"] A[前端容器
Nginx + Vue3] + end + + subgraph BACKEND["后端服务层"] B[后端容器
Spring Boot] + end + + subgraph DATASTORAGE["数据存储层"] + direction TB C[数据库容器
OpenGauss] D[缓存容器
Redis] E[文件存储容器
MinIO] end - A --> B - B --> C - B --> D - B --> E + %% 容器服务调用关系 + FRONTEND -.->|API请求
静态资源| BACKEND + BACKEND -.->|数据操作
缓存访问
文件存储| DATASTORAGE ``` #### 部署配置说明 diff --git a/water_biz_system_architecture.md b/water_biz_system_architecture.md index 4e95004..3eeb229 100644 --- a/water_biz_system_architecture.md +++ b/water_biz_system_architecture.md @@ -33,87 +33,65 @@ ```mermaid graph TB - subgraph "用户层" + subgraph USER["用户层"] A1[Web管理端
yudao-ui-admin-vue3] A2[移动抄表端
uni-app] A3[客户微信端
微信小程序] A4[客户支付宝端
支付宝小程序] end - subgraph "网关层" + subgraph GATEWAY["网关层"] B1[Nginx负载均衡] B2[API网关
统一认证/权限控制] end - subgraph "应用层" + subgraph APP["应用层"] C1[营收管理
RuoYi-Vue-Pro] C2[客户服务
RuoYi-Vue-Pro] C3[表务管理
RuoYi-Vue-Pro] C4[统计分析
RuoYi-Vue-Pro] end - subgraph "服务层" + subgraph SERVICE["服务层"] D1[权限服务
Spring Security] D2[工作流服务
Flowable] D3[消息服务
Redis MQ] D4[文件服务
MinIO/OSS] end - subgraph "数据层" + subgraph DATA["数据层"] E1[(OpenGauss 5.0+
主从架构)] E2[(Redis 6.0
集群缓存)] E3[文件存储
分布式存储] end - subgraph "外部接口" + subgraph EXTERNAL["外部接口"] F1[银行接口
代扣/托收] F2[支付接口
微信/支付宝] F3[短信接口
阿里云/腾讯云] F4[物联网接口
智能水表] end - A1 --> B1 - A2 --> B1 - A3 --> B1 - A4 --> B1 - - B1 --> B2 - B2 --> C1 - B2 --> C2 - B2 --> C3 - B2 --> C4 - - C1 --> D1 - C1 --> D2 - C1 --> D3 - C1 --> D4 - C2 --> D1 - C2 --> D3 - C3 --> D1 - C3 --> D2 - C4 --> D1 - - D1 --> E1 - D2 --> E1 - D3 --> E2 - D4 --> E3 - - C1 --> F1 - C1 --> F2 - C2 --> F3 - C3 --> F4 + %% 层级间调用关系 + USER -.->|请求访问| GATEWAY + GATEWAY -.->|负载均衡
路由转发| APP + APP -.->|服务调用| SERVICE + APP -.->|外部集成| EXTERNAL + SERVICE -.->|数据访问| DATA ``` ### 物理部署架构图 ```mermaid graph TB - subgraph "DMZ区域" - LB1[负载均衡器
Nginx Cluster] - WAF[Web应用防火墙] + subgraph DMZ["DMZ区域"] + subgraph "负载均衡集群" + LB1[负载均衡器
Nginx Cluster] + WAF[Web应用防火墙] + end end - subgraph "应用服务区" + subgraph APPZONE["应用服务区"] subgraph "Web服务集群" WEB1[Web服务器1
8核32G] WEB2[Web服务器2
8核32G] @@ -125,7 +103,7 @@ graph TB end end - subgraph "数据服务区" + subgraph DATAZONE["数据服务区"] subgraph "数据库集群" DB1[OpenGauss主库
32核128G] DB2[OpenGauss从库
32核128G] @@ -143,43 +121,18 @@ graph TB end end - subgraph "管理服务区" + subgraph MGMT["管理服务区"] MONITOR[监控服务器
8核16G] BACKUP[备份服务器
8核32G 20TB] JUMP[跳板服务器
4核8G] end - Internet --> WAF - WAF --> LB1 - LB1 --> WEB1 - LB1 --> WEB2 - - WEB1 --> APP1 - WEB1 --> APP2 - WEB2 --> APP1 - WEB2 --> APP2 - - APP1 --> DB1 - APP2 --> DB1 - DB1 --> DB2 - - APP1 --> REDIS1 - APP2 --> REDIS1 - REDIS1 --> REDIS2 - REDIS3 --> REDIS1 - REDIS3 --> REDIS2 - - APP1 --> FILE1 - APP2 --> FILE2 - FILE1 --> FILE2 - - MONITOR --> APP1 - MONITOR --> APP2 - MONITOR --> DB1 - MONITOR --> REDIS1 - - BACKUP --> DB1 - BACKUP --> FILE1 + %% 区域间调用关系 + Internet -.->|外网访问| DMZ + DMZ -.->|负载均衡
安全过滤| APPZONE + APPZONE -.->|数据访问
业务处理| DATAZONE + MGMT -.->|监控管理
备份恢复| DATAZONE + MGMT -.->|系统监控
运维管理| APPZONE ``` ## 技术架构 @@ -189,8 +142,9 @@ graph TB ### 技术栈总览 ```mermaid -graph LR - subgraph 前端技术栈["🏷 前端技术栈"] +graph + subgraph FRONTEND["🏷 前端技术栈"] + direction TB FE1["Vue 3.2+ TypeScript"] FE2["Element Plus UI"] FE3["Vite 构建工具"] @@ -200,7 +154,8 @@ graph LR FE7["ECharts 图表"] end - subgraph 后端技术栈["📦 后端技术栈"] + subgraph BACKEND["📦 后端技术栈"] + direction TB BE1["Spring Boot 3.x"]:::spring BE2["Spring Security"]:::security BE3["MyBatis Plus"]:::orm @@ -211,7 +166,8 @@ graph LR BE8["Maven 管理"] end - subgraph 中间件服务["⚙️ 中间件服务"] + subgraph MIDDLEWARE["⚙️ 中间件服务"] + direction TB MW1["Nginx LB"] MW2["Redis集群"] MW3["Flowable工作流"] @@ -222,7 +178,8 @@ graph LR MW8["Sentinel限流"] end - subgraph 移动应用["📱 移动应用"] + subgraph MOBILE["📱 移动应用"] + direction TB MB1["uni-app"] MB2["uView UI"] MB3["微信小程序"] @@ -232,16 +189,10 @@ graph LR MB7["NFC设备接口"] end - FE6 -- HTTP请求 --> BE1 - MB1 -- API调用 --> BE1 - BE1 --> BE2 - BE1 --> BE3 - BE3 --> BE5 - BE1 --> BE4 - BE1 --> MW6 - BE1 --> MW5 - BE1 --> MW7 - BE1 --> MW3 + %% 技术栈间调用关系 + FRONTEND -.->|HTTP请求
API调用| BACKEND + MOBILE -.->|跨平台调用
API集成| BACKEND + BACKEND -.->|服务集成
中间件调用| MIDDLEWARE classDef spring fill:#6db33f,color:white classDef security fill:#b5e6c0 @@ -253,7 +204,7 @@ graph LR ```mermaid flowchart TD - subgraph "数据采集层" + subgraph COLLECT["数据采集层"] A1[移动抄表APP
数据采集] A2[智能水表
远程数据] A3[Web管理端
业务录入] @@ -261,14 +212,14 @@ flowchart TD A5[外部系统
接口数据] end - subgraph "数据接入层" + subgraph ACCESS["数据接入层"] B1[API网关
数据验证] B2[数据清洗
格式转换] B3[消息队列
异步处理] B4[数据缓存
临时存储] end - subgraph "业务处理层" + subgraph PROCESS["业务处理层"] C1[抄表服务
水量计算] C2[收费服务
账单生成] C3[账务服务
财务处理] @@ -276,7 +227,7 @@ flowchart TD C5[统计服务
数据分析] end - subgraph "数据存储层" + subgraph STORAGE["数据存储层"] D1[(OpenGauss主库
核心业务数据)] D2[(OpenGauss从库
查询数据)] D3[(Redis缓存
热点数据)] @@ -284,14 +235,14 @@ flowchart TD D5[(备份库
历史数据)] end - subgraph "数据服务层" + subgraph SERVICE["数据服务层"] E1[查询服务
数据检索] E2[报表服务
统计分析] E3[接口服务
对外开放] E4[推送服务
消息通知] end - subgraph "数据展现层" + subgraph PRESENT["数据展现层"] F1[管理后台
业务操作] F2[统计大屏
可视化展示] F3[移动端
现场作业] @@ -299,42 +250,13 @@ flowchart TD F5[第三方系统
数据集成] end - A1 --> B1 - A2 --> B2 - A3 --> B1 - A4 --> B1 - A5 --> B3 - - B1 --> B4 - B2 --> B3 - B3 --> C1 - B4 --> C2 - - C1 --> D1 - C2 --> D1 - C3 --> D1 - C4 --> D1 - C5 --> D2 - - D1 --> D2 - D1 --> D3 - D1 --> D5 - - D2 --> E1 - D3 --> E1 - D1 --> E2 - D2 --> E3 - - E1 --> F1 - E2 --> F2 - E3 --> F3 - E4 --> F4 - E3 --> F5 - - F1 -.-> C2 - F3 -.-> C1 - F4 -.-> C3 - F5 -.-> C4 + %% 数据流向关系 + COLLECT -.->|数据采集
格式验证| ACCESS + ACCESS -.->|数据接入
清洗转换| PROCESS + PROCESS -.->|业务处理
数据持久化| STORAGE + STORAGE -.->|数据查询
统计分析| SERVICE + SERVICE -.->|数据服务
接口调用| PRESENT + PRESENT -.->|用户反馈
业务交互| PROCESS ``` ### 服务端技术架构 @@ -382,37 +304,35 @@ flowchart TD **技术栈组成:** ```mermaid graph TB - subgraph "跨平台框架" + subgraph FRAMEWORK["跨平台框架"] M1[uni-app 3.x] M2[Vue 3 Composition API] M3[TypeScript支持] end - subgraph "UI组件库" + subgraph UIKIT["UI组件库"] N1[uView UI 2.0] N2[uni-ui组件] N3[自定义水务组件] end - subgraph "设备能力" + subgraph DEVICE["设备能力"] P1[相机API
水表拍照] P2[NFC读取
水表标签] P3[GPS定位
抄表轨迹] P4[扫码API
二维码扫描] end - subgraph "网络通信" + subgraph NETWORK["网络通信"] Q1[uni.request
HTTP请求] Q2[WebSocket
实时通信] Q3[文件上传
图片处理] end - M1 --> N1 - M1 --> P1 - M1 --> Q1 - N1 --> N3 - P1 --> P2 - Q1 --> Q2 + %% 移动架构调用关系 + FRAMEWORK -.->|UI渲染
组件调用| UIKIT + FRAMEWORK -.->|设备调用
原生能力| DEVICE + FRAMEWORK -.->|网络通信
数据交互| NETWORK ``` ### 技术特性 @@ -435,12 +355,12 @@ graph TB ```mermaid graph TD - subgraph "接入层" + subgraph ACCESS["接入层"] GW[API网关] AUTH[认证服务] end - subgraph "业务服务层" + subgraph BUSINESS["业务服务层"] SYS[系统服务] CUST[客户服务] READ[抄表服务] @@ -450,89 +370,66 @@ graph TD RPT[报表服务] end - subgraph "支撑服务层" + subgraph SUPPORT["支撑服务层"] METER[水表管理] WF[工作流引擎] PAY_GW[支付网关] IOT[物联网] end - subgraph "数据存储层" + subgraph DATA["数据存储层"] DB[(OpenGauss数据库)] REDIS[(Redis缓存)] FILE_STORE[文件存储] end - %% 接入层连接 - GW --> AUTH - GW --> SYS - GW --> CUST - GW --> READ - GW --> ORDER - - %% 业务流程连接 - READ --> METER - READ --> BILL - BILL --> PAY - ORDER --> WF - - %% 外部集成连接 - PAY --> PAY_GW - READ --> IOT - - %% 数据连接 - CUST -.-> DB - BILL -.-> DB - PAY -.-> DB - AUTH -.-> REDIS - SYS -.-> FILE_STORE + %% 层级间的调用关系 + ACCESS -.->|请求路由
认证授权| BUSINESS + BUSINESS -.->|服务调用| SUPPORT + BUSINESS -.->|数据访问| DATA + SUPPORT -.->|数据访问| DATA ``` ### 服务治理架构 ```mermaid graph TB - subgraph "服务发现与注册" + subgraph REGISTRY["服务发现与注册"] NACOS[Nacos注册中心
服务注册/发现/配置] end - subgraph "服务网格层" - subgraph "负载均衡" + subgraph MESH["服务网格层"] + subgraph BALANCE["负载均衡"] LB[Ribbon负载均衡
客户端负载均衡] FEIGN[OpenFeign
服务间调用] end - subgraph "容错保护" + subgraph PROTECTION["容错保护"] CB[Sentinel熔断器
流量控制/熔断降级] RETRY[重试机制
失败重试] end - subgraph "链路追踪" + subgraph TRACING["链路追踪"] TRACE[SkyWalking
分布式链路追踪] METRIC[Micrometer
指标收集] end end - subgraph "配置管理" + subgraph CONFIG_MGMT["配置管理"] CONFIG[Nacos Config
配置中心] SECRET[配置加密
敏感信息保护] end - subgraph "监控告警" + subgraph MONITORING["监控告警"] MONITOR[Spring Boot Admin
应用监控] ALERT[告警系统
异常通知] LOG[ELK日志系统
日志聚合分析] end - NACOS --> LB - NACOS --> FEIGN - LB --> CB - FEIGN --> TRACE - CB --> RETRY - - CONFIG --> SECRET - MONITOR --> ALERT - TRACE --> LOG + %% 服务治理调用关系 + REGISTRY -.->|服务发现
配置下发| MESH + MESH -.->|配置获取
服务注册| CONFIG_MGMT + MESH -.->|监控数据
链路追踪| MONITORING ``` ### 应用模块设计 @@ -583,80 +480,70 @@ graph TB #### 主从高可用架构 ```mermaid -graph TB - subgraph "OpenGauss高可用集群" +graph + subgraph DBCLUSTER["OpenGauss高可用集群"] MASTER[("OpenGauss主库
Primary Node
读写操作")] STANDBY[("OpenGauss备库
Standby Node
只读操作")] CASCADE[("OpenGauss级联备库
Cascade Standby
负载分担")] + + MASTER -.->|流复制| STANDBY + STANDBY -.->|级联复制| CASCADE end - subgraph "应用层" + subgraph APPLAYER["应用层"] APP1[应用服务器1] APP2[应用服务器2] APP3[应用服务器3] end - subgraph "连接池" + subgraph POOLING["连接池"] POOL[连接池
HikariCP
Druid] end - subgraph "监控管理" + subgraph MANAGEMENT["监控管理"] MON[OpenGauss Monitor
性能监控] BACKUP[定时备份
gs_backup] end - APP1 --> POOL - APP2 --> POOL - APP3 --> POOL - POOL --> MASTER - POOL --> STANDBY - POOL --> CASCADE - - MASTER -.->|流复制| STANDBY - STANDBY -.->|级联复制| CASCADE - - MON --> MASTER - MON --> STANDBY - BACKUP --> MASTER + %% 高可用架构调用关系 + APPLAYER -.->|连接请求
负载均衡| POOLING + POOLING -.->|数据访问
读写分离| DBCLUSTER + MANAGEMENT -.->|监控管理
备份恢复| DBCLUSTER ``` #### 分片存储架构 ```mermaid graph TB - subgraph "OpenGauss分布式架构" - subgraph "协调节点" + subgraph DISTRIBUTED["OpenGauss分布式架构"] + subgraph COORDINATOR["协调节点"] CN1[协调节点1
Coordinator Node] CN2[协调节点2
Coordinator Node] end - subgraph "数据节点组1" + subgraph DATANODE1["数据节点组1"] DN1_1[数据节点1-主
Datanode Primary] DN1_2[数据节点1-备
Datanode Standby] + DN1_1 -.->|主备同步| DN1_2 end - subgraph "数据节点组2" + subgraph DATANODE2["数据节点组2"] DN2_1[数据节点2-主
Datanode Primary] DN2_2[数据节点2-备
Datanode Standby] + DN2_1 -.->|主备同步| DN2_2 end - subgraph "GTM节点" + subgraph GTM_CLUSTER["GTM节点"] GTM[全局事务管理器
GTM Master] GTM_S[GTM备节点
GTM Standby] + GTM -.->|备份| GTM_S end end - CN1 --> DN1_1 - CN1 --> DN2_1 - CN2 --> DN1_1 - CN2 --> DN2_1 - - DN1_1 -.->|主备同步| DN1_2 - DN2_1 -.->|主备同步| DN2_2 - - GTM -.->|备份| GTM_S - CN1 --> GTM - CN2 --> GTM + %% 分布式架构调用关系 + COORDINATOR -.->|分片路由
查询协调| DATANODE1 + COORDINATOR -.->|分片路由
查询协调| DATANODE2 + COORDINATOR -.->|事务管理
全局一致性| GTM_CLUSTER ``` ### 数据模型设计 @@ -700,70 +587,65 @@ graph TB #### 数据加密安全 ```mermaid -graph TB - subgraph "加密层级" +graph + subgraph ENCRYPT["加密层级"] + direction TB L1[传输层加密
SSL/TLS/国密SM] L2[存储层加密
TDE透明数据加密] L3[字段级加密
敏感字段加密] L4[备份加密
备份文件加密] end - subgraph "密钥管理" + subgraph KEYMANAGE["密钥管理"] + direction TB KMS[密钥管理系统
Key Management] HSM[硬件安全模块
Hardware Security] ROT[密钥轮换
Key Rotation] end - subgraph "国密算法" + subgraph GUOMI["国密算法"] + direction TB SM2[SM2椭圆曲线
非对称加密] SM3[SM3哈希算法
消息摘要] SM4[SM4分组密码
对称加密] end - L1 --> KMS - L2 --> HSM - L3 --> ROT - L4 --> KMS - - KMS --> SM2 - HSM --> SM3 - ROT --> SM4 + %% 安全层级调用关系 + ENCRYPT -.->|密钥依赖
加密管理| KEYMANAGE + KEYMANAGE -.->|算法调用
国密支持| GUOMI ``` #### 访问控制安全 ```mermaid -graph TB - subgraph "身份认证" +graph + subgraph AUTHENTICATION["身份认证"] + direction TB AUTH1[用户名密码认证] AUTH2[LDAP集成认证] AUTH3[Kerberos认证] AUTH4[证书认证] end - subgraph "权限控制" + subgraph AUTHORIZATION["权限控制"] + direction TB RBAC[基于角色的权限控制
Role-Based Access Control] RLS[行级安全策略
Row Level Security] CLS[列级安全控制
Column Level Security] TENANT[多租户数据隔离
Multi-Tenant Isolation] end - subgraph "审计监控" + subgraph AUDITING["审计监控"] + direction TB AUDIT[操作审计日志
Audit Logging] MONITOR[实时安全监控
Security Monitoring] ALERT[安全告警
Security Alert] REPORT[合规报告
Compliance Report] end - AUTH1 --> RBAC - AUTH2 --> RLS - AUTH3 --> CLS - AUTH4 --> TENANT - - RBAC --> AUDIT - RLS --> MONITOR - CLS --> ALERT - TENANT --> REPORT + %% 安全控制流程 + AUTHENTICATION -.->|身份验证
授权检查| AUTHORIZATION + AUTHORIZATION -.->|权限监控
操作审计| AUDITING ``` ### 网络安全