本文档通过流程图的形式详细描述了房地产专家评估系统的核心模块业务流程,包括评估流程、用户管理流程、项目管理流程等。
graph TB
A[用户] --> B[Nginx反向代理]
B --> C[Spring Boot应用]
C --> D[业务服务层]
D --> E[数据访问层]
E --> F[MySQL数据库]
C --> G[模糊评估API]
C --> H[高德地图API]
D --> I[用户管理服务]
D --> J[项目管理服务]
D --> K[评估服务]
D --> L[专家管理服务]
K --> M[打分算法]
K --> N[模糊评估算法]
flowchart TD
A[用户访问系统] --> B{是否已登录?}
B -->|是| C[直接进入系统]
B -->|否| D[跳转到登录页面]
D --> E[用户输入用户名密码]
E --> F[验证用户信息]
F --> G{验证是否成功?}
G -->|成功| H[创建用户会话]
G -->|失败| I[显示错误信息]
H --> J[生成JWT Token]
J --> K[设置Cookie]
K --> L[跳转到首页]
I --> D
flowchart TD
A[用户请求API] --> B[拦截器检查Token]
B --> C{Token是否有效?}
C -->|无效| D[返回401未授权]
C -->|有效| E[解析用户信息]
E --> F[检查用户权限]
F --> G{是否有权限?}
G -->|有权限| H[执行业务逻辑]
G -->|无权限| I[返回403禁止访问]
H --> J[返回响应结果]
flowchart TD
A[用户创建项目] --> B[填写项目基本信息]
B --> C[选择项目类型]
C --> D[选择委托方]
D --> E[填写项目详情]
E --> F[上传相关文件]
F --> G[保存项目信息]
G --> H[创建项目成功]
H --> I[生成项目编号]
I --> J[通知相关人员]
flowchart TD
A[选择项目] --> B[创建评估计划]
B --> C[选择计划类型]
C --> D{计划类型?}
D -->|综合体系| E[选择系统模型]
D -->|设备体系| F[选择设备模型]
D -->|混合评估| G[选择系统+设备模型]
E --> H[选择系统专家]
F --> I[选择设备专家]
G --> J[选择系统+设备专家]
H --> K[配置评估参数]
I --> K
J --> K
K --> L[保存计划]
L --> M[计划创建成功]
flowchart TD
A[选择计划] --> B[创建检查任务]
B --> C[设置任务基本信息]
C --> D[分配检查人员]
D --> E[设置检查时间]
E --> F[配置轮空项]
F --> G[保存任务]
G --> H[任务创建成功]
H --> I[通知检查人员]
I --> J[开始检查]
flowchart TD
A[检查人员发现问题] --> B[选择问题类型]
B --> C[选择具体问题]
C --> D[选择问题等级]
D --> E[填写问题描述]
E --> F[上传证据文件]
F --> G[保存问题记录]
G --> H[问题记录成功]
H --> I[更新任务状态]
flowchart TD
A[开始评估] --> B[获取检查任务]
B --> C[获取错误记录]
C --> D[初始化问题映射表]
D --> E[构建评分树]
E --> F[统计问题扣分]
F --> G[计算子节点得分]
G --> H[向上累加得分]
H --> I[计算最终得分]
I --> J[保存评估结果]
J --> K[评估完成]
flowchart TD
A[开始模糊评估] --> B[构建隶属度矩阵]
B --> C[构建比较矩阵]
C --> D[调用模糊评估API]
D --> E[接收API响应]
E --> F{一致性检验}
F -->|通过| G[解析评估结果]
F -->|不通过| H[调整判断矩阵]
H --> C
G --> I[计算风险得分]
I --> J[确定风险等级]
J --> K[保存评估结果]
K --> L[评估完成]
flowchart TD
A[创建专家] --> B[填写基本信息]
B --> C[选择专家类型]
C --> D{专家类型?}
D -->|打分专家| E[配置权重矩阵]
D -->|模糊专家| F[配置隶属度矩阵]
D -->|混合专家| G[配置权重+隶属度矩阵]
E --> H[设置层级权重]
F --> I[设置风险等级]
G --> J[设置权重+风险等级]
H --> K[保存专家配置]
I --> K
J --> K
K --> L[专家创建成功]
flowchart TD
A[选择专家] --> B[进入权重配置]
B --> C[选择层级]
C --> D[设置权重值]
D --> E[权重归一化]
E --> F{是否继续配置?}
F -->|是| C
F -->|否| G[保存权重配置]
G --> H[配置完成]
flowchart TD
A[设备注册] --> B[选择设备类型]
B --> C[填写设备信息]
C --> D[上传设备证书]
D --> E[设置安装位置]
E --> F[配置检查周期]
F --> G[保存设备信息]
G --> H[设备注册成功]
H --> I[生成设备编号]
I --> J[安排首次检查]
flowchart TD
A[设备检查任务] --> B[检查人员到达现场]
B --> C[核对设备信息]
C --> D[执行安全检查]
D --> E{发现问题?}
E -->|是| F[记录问题]
E -->|否| G[记录正常]
F --> H[上传检查照片]
G --> H
H --> I[完成检查报告]
I --> J[提交检查结果]
J --> K[更新设备状态]
flowchart TD
A[评估完成] --> B[选择报告模板]
B --> C[收集评估数据]
C --> D[计算综合得分]
D --> E[分析问题分布]
E --> F[生成风险等级]
F --> G[生成改进建议]
G --> H[生成报告内容]
H --> I[导出PDF报告]
I --> J[报告生成完成]
J --> K[发送给委托方]
flowchart TD
A[报告生成] --> B[提交审核]
B --> C[审核人员检查]
C --> D{审核结果?}
D -->|通过| E[报告发布]
D -->|不通过| F[返回修改]
F --> G[修改报告]
G --> B
E --> H[通知相关人员]
H --> I[报告流程完成]
flowchart TD
A[定时健康检查] --> B[检查应用状态]
B --> C[检查数据库连接]
C --> D[检查外部API]
D --> E{所有检查通过?}
E -->|是| F[记录健康状态]
E -->|否| G[记录异常信息]
F --> H[发送正常通知]
G --> I[发送告警通知]
H --> J[等待下次检查]
I --> K[尝试自动恢复]
K --> L{恢复成功?}
L -->|是| F
L -->|否| M[人工介入]
flowchart TD
A[性能监控] --> B[收集系统指标]
B --> C[收集应用指标]
C --> D[收集数据库指标]
D --> E[分析性能数据]
E --> F{性能是否正常?}
F -->|正常| G[记录性能数据]
F -->|异常| H[触发性能告警]
G --> I[更新性能报告]
H --> J[分析性能瓶颈]
J --> K[提供优化建议]
I --> L[等待下次监控]
K --> L
flowchart TD
A[定时备份任务] --> B[备份数据库]
B --> C[备份应用文件]
C --> D[备份配置文件]
D --> E[压缩备份文件]
E --> F[上传到备份服务器]
F --> G[验证备份完整性]
G --> H{备份是否成功?}
H -->|成功| I[删除旧备份]
H -->|失败| J[记录备份失败]
I --> K[备份任务完成]
J --> L[发送备份失败告警]
flowchart TD
A[数据恢复请求] --> B[选择恢复点]
B --> C[停止应用服务]
C --> D[备份当前数据]
D --> E[恢复数据库]
E --> F[恢复应用文件]
F --> G[验证恢复数据]
G --> H{恢复是否成功?}
H -->|成功| I[启动应用服务]
H -->|失败| J[回滚到备份]
I --> K[验证服务正常]
J --> L[通知恢复失败]
K --> M[恢复任务完成]
flowchart TD
A[业务异常] --> B[异常拦截器捕获]
B --> C[记录异常日志]
C --> D[分析异常类型]
D --> E{异常类型?}
E -->|业务异常| F[返回业务错误信息]
E -->|系统异常| G[返回系统错误信息]
E -->|网络异常| H[重试机制]
F --> I[记录业务异常]
G --> J[记录系统异常]
H --> K{重试成功?}
K -->|成功| L[继续执行业务]
K -->|失败| M[返回网络错误]
I --> N[异常处理完成]
J --> N
L --> N
M --> N
flowchart TD
A[系统故障] --> B[故障检测]
B --> C[分析故障原因]
C --> D{故障类型?}
D -->|应用故障| E[重启应用服务]
D -->|数据库故障| F[重启数据库服务]
D -->|网络故障| G[检查网络连接]
E --> H{重启成功?}
F --> I{重启成功?}
G --> J{网络恢复?}
H -->|成功| K[验证服务正常]
H -->|失败| L[人工介入]
I -->|成功| K
I -->|失败| L
J -->|是| K
J -->|否| L
K --> M[故障恢复完成]
L --> N[升级故障处理]
文档版本: v1.0
创建日期: 2024年12月
最后更新: 2024年12月
维护人员: 开发团队