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**
-
+
### 多租户架构设计
@@ -70,7 +70,7 @@ CJKmainfont: "PingFang SC"
**图表 2**
-
+
### 通用字段设计
@@ -94,7 +94,7 @@ CJKmainfont: "PingFang SC"
**图表 3**
-
+
### 营收管理模块ER图
@@ -102,7 +102,7 @@ CJKmainfont: "PingFang SC"
**图表 4**
-
+
### 表务管理模块ER图
@@ -110,7 +110,7 @@ CJKmainfont: "PingFang SC"
**图表 5**
-
+
### 系统管理模块ER图
@@ -118,7 +118,7 @@ CJKmainfont: "PingFang SC"
**图表 6**
-
+
## 核心数据表设计
@@ -128,7 +128,7 @@ CJKmainfont: "PingFang SC"
**图表 7**
-
+
### 系统管理模块ER图
@@ -136,7 +136,7 @@ CJKmainfont: "PingFang SC"
**图表 8**
-
+
## 数据表结构设计
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**
-
+
### 环境架构设计
@@ -131,7 +131,7 @@ CJKmainfont: "PingFang SC"
**图表 2**
-
+
#### 部署配置说明
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**
-
+
### 技术架构图
@@ -122,7 +122,7 @@ CJKmainfont: "PingFang SC"
**图表 2**
-
+
### 业务架构图
@@ -130,7 +130,7 @@ CJKmainfont: "PingFang SC"
**图表 3**
-
+
## 统一平台
@@ -228,7 +228,7 @@ CJKmainfont: "PingFang SC"
**图表 4**
-
+
#### 主要功能
@@ -296,7 +296,7 @@ CJKmainfont: "PingFang SC"
**图表 5**
-
+
#### 主要功能
@@ -358,7 +358,7 @@ CJKmainfont: "PingFang SC"
**图表 6**
-
+
#### 主要功能
@@ -398,7 +398,7 @@ CJKmainfont: "PingFang SC"
**图表 7**
-
+
#### 核心接口定义
@@ -812,7 +812,7 @@ CJKmainfont: "PingFang SC"
**图表 8**
-
+
### 技术栈整合方案
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**
-
+
## OpenGauss数据库安全
@@ -63,7 +63,7 @@ CJKmainfont: "PingFang SC"
**图表 2**
-
+
### 国产密码算法应用
@@ -144,7 +144,7 @@ CJKmainfont: "PingFang SC"
**图表 3**
-
+
### 防火墙策略配置
@@ -180,7 +180,7 @@ CJKmainfont: "PingFang SC"
**图表 4**
-
+
#### 数据保护策略
@@ -219,7 +219,7 @@ CJKmainfont: "PingFang SC"
**图表 5**
-
+
#### 安全事件检测规则
@@ -240,7 +240,7 @@ CJKmainfont: "PingFang SC"
**图表 6**
-
+
### 应急响应预案
@@ -257,7 +257,7 @@ CJKmainfont: "PingFang SC"
**图表 7**
-
+
## 安全管理制度
@@ -268,7 +268,7 @@ CJKmainfont: "PingFang SC"
**图表 8**
-
+
### 安全管理制度
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
-
+```
### 物理部署架构图
@@ -53,7 +99,7 @@ CJKmainfont: "PingFang SC"
**图表 2**
-
+
## 技术架构
@@ -65,7 +111,7 @@ CJKmainfont: "PingFang SC"
**图表 3**
-
+
### 系统数据流向图
@@ -73,7 +119,7 @@ CJKmainfont: "PingFang SC"
**图表 4**
-
+
### 服务端技术架构
@@ -122,7 +168,7 @@ CJKmainfont: "PingFang SC"
**图表 5**
-
+
### 技术特性
@@ -146,7 +192,7 @@ CJKmainfont: "PingFang SC"
**图表 6**
-
+
### 服务治理架构
@@ -154,7 +200,7 @@ CJKmainfont: "PingFang SC"
**图表 7**
-
+
### 应用模块设计
@@ -207,7 +253,7 @@ CJKmainfont: "PingFang SC"
**图表 8**
-
+
#### 分片存储架构
@@ -215,7 +261,7 @@ CJKmainfont: "PingFang SC"
**图表 9**
-
+
### 数据模型设计
@@ -261,7 +307,7 @@ CJKmainfont: "PingFang SC"
**图表 10**
-
+
#### 访问控制安全
@@ -269,7 +315,7 @@ CJKmainfont: "PingFang SC"
**图表 11**
-
+
### 网络安全
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
```
### 网络安全