# 需求定义文档(续)
### 3.2 模块功能概述
| 模块名称 | 功能概述 |
| :--- | :--- |
| **用户与认证模块** | 负责用户身份验证和权限控制,提供注册、登录、密码重置等功能,确保系统安全性。 |
| **反馈管理模块** | 处理公众提交的环境问题反馈,包括提交、审核、状态追踪和查询统计等功能。 |
| **任务管理模块** | 将审核通过的反馈转化为工作任务,管理任务的分配、执行和完成全流程。 |
| **网格与地图模块** | 提供地理空间的网格化管理,支持路径规划和地图可视化,辅助任务执行。 |
| **决策支持模块** | 通过数据分析和可视化,为管理层提供决策支持,帮助优化资源配置和治理策略。 |
| **系统管理模块** | 提供系统配置、用户管理、权限设置等基础功能,保障系统正常运行。 |
| **文件服务模块** | 处理系统中的文件上传、存储和访问,支持反馈和任务的附件管理。 |
| **日志审计模块** | 记录系统操作日志,支持安全审计和问题追溯,确保系统运行的可追溯性。 |
## 4. 整体业务流程
下图描述了从公众发现问题、上报、到平台内部流转、处理、并最终反馈结果的完整闭环业务流程:
```mermaid
flowchart TD
%% 定义样式
classDef public fill:#d4f1f9,stroke:#05a8e5,color:#333
classDef platform fill:#ffe6cc,stroke:#f7a128,color:#333
classDef worker fill:#d5e8d4,stroke:#82b366,color:#333
classDef supervisor fill:#e1d5e7,stroke:#9673a6,color:#333
classDef decision fill:#f8cecc,stroke:#b85450,color:#333
classDef start_end fill:#f5f5f5,stroke:#666666,color:#333,stroke-width:2px
%% 流程开始
A([开始]) --> B["[公众端] 发现环境问题"]
B --> C["[公众端] 提交反馈
(标题/描述/图片/位置)"]
%% 平台接收与AI处理
C --> D["[平台] 接收反馈
生成唯一事件ID"]
D --> E{"[平台] AI自动审核
分析内容/分类"}
%% AI审核分支
E -- "明显无效" --> F1["[平台] 标记为AI_REJECTED"]
F1 --> F2["[平台] 通知提交者"]
F2 --> Z1([结束])
E -- "需人工确认" --> G["[主管] 查看反馈详情
进行人工审核"]
%% 主管审核分支
G --> H{"[主管] 审核决定"}
H -- "驳回" --> I1["[主管] 填写驳回理由"]
I1 --> I2["[平台] 更新状态为REJECTED"]
I2 --> I3["[平台] 通知提交者"]
I3 --> Z2([结束])
%% 审核通过,创建任务
H -- "通过" --> J1["[主管] 确认反馈有效"]
J1 --> J2["[平台] 自动创建结构化任务"]
J2 --> J3["[平台] 更新反馈状态为PROCESSED"]
%% 任务分配
J3 --> K1{"[主管] 选择分配方式"}
K1 -- "手动分配" --> K2["[主管] 选择特定网格员"]
K1 -- "智能推荐" --> K3["[平台] 运行分配算法
考虑位置/负载/专长"]
K3 --> K4["[平台] 推荐最佳人选"]
K4 --> K2
K2 --> K5["[平台] 创建任务分配记录
更新任务状态为ASSIGNED"]
K5 --> K6["[平台] 通知网格员"]
%% 网格员处理
K6 --> L1["[网格员] 接收任务通知"]
L1 --> L2{"[网格员] 接受任务?"}
L2 -- "拒绝" --> K1
L2 -- "接受" --> L3["[网格员] 更新任务状态为IN_PROGRESS"]
L3 --> L4["[网格员] 查看任务详情
获取路径规划"]
L4 --> L5["[网格员] 前往现场处理"]
L5 --> L6["[网格员] 记录处理过程
上传证明材料"]
L6 --> L7["[网格员] 提交处理结果
更新状态为SUBMITTED"]
%% 主管审核结果
L7 --> M1["[主管] 审核处理结果"]
M1 --> M2{"[主管] 结果是否合格?"}
M2 -- "不合格" --> M3["[主管] 填写原因
要求重新处理"]
M3 --> L4
%% 完成流程
M2 -- "合格" --> N1["[主管] 确认任务完成"]
N1 --> N2["[平台] 更新任务状态为APPROVED"]
N2 --> N3["[平台] 更新反馈状态为CLOSED"]
N3 --> N4["[平台] 通知反馈提交者"]
N4 --> N5["[平台] 更新统计数据"]
N5 --> O["[决策层] 查看数据看板
分析环境趋势"]
O --> Z3([结束])
%% 为节点添加类别
class A,Z1,Z2,Z3 start_end
class B,C,F2,I3,N4 public
class D,E,F1,I2,J2,J3,K3,K4,K5,K6,N2,N3,N5 platform
class G,H,I1,J1,K1,K2,M1,M2,M3,N1 supervisor
class L1,L2,L3,L4,L5,L6,L7 worker
class O decision
```
## 5. 功能需求详细描述
### 5.1 用户与认证模块需求
| 需求ID | 需求名称 | 需求描述 | 优先级 |
| :--- | :--- | :--- | :--- |
| AUTH-01 | 用户注册 | 系统应允许新用户通过提供基本信息(姓名、手机号、邮箱、密码等)进行注册,并验证信息的有效性和唯一性。 | 高 |
| AUTH-02 | 用户登录 | 系统应支持用户通过邮箱/手机号和密码进行身份验证,登录成功后生成安全令牌用于后续请求。 | 高 |
| AUTH-03 | 密码重置 | 系统应提供安全的密码重置机制,包括通过邮箱或手机验证码验证身份。 | 中 |
| AUTH-04 | 权限控制 | 系统应基于用户角色(公众用户、网格员、主管、管理员、决策者)实施访问控制,确保用户只能访问其权限范围内的功能和数据。 | 高 |
| AUTH-05 | 会话管理 | 系统应维护和管理用户会话状态,包括会话创建、验证和超时处理。 | 中 |
| AUTH-06 | 个人资料管理 | 系统应允许用户查看和更新其个人资料,包括基本信息、联系方式和偏好设置。 | 低 |
| AUTH-07 | 安全日志 | 系统应记录所有关键安全事件(登录尝试、权限变更等),支持安全审计。 | 中 |
**用户与认证流程图**:
```mermaid
graph TD
A[用户访问系统] --> B{是否已登录?}
B -- 否 --> C{是否有账号?}
B -- 是 --> D[访问系统功能]
C -- 否 --> E[注册新账号]
C -- 是 --> F[登录系统]
E --> G[填写注册信息]
G --> H[验证邮箱/手机]
H --> I[创建用户账号]
I --> F
F --> J{认证是否成功?}
J -- 否 --> K{是否忘记密码?}
J -- 是 --> L[生成安全令牌]
K -- 是 --> M[密码重置流程]
K -- 否 --> F
M --> N[验证身份]
N --> O[设置新密码]
O --> F
L --> P[加载用户权限]
P --> D
D --> Q[系统记录操作日志]
R[用户请求退出] --> S[清除会话信息]
S --> T[返回登录页面]
```
### 5.2 反馈管理模块需求
| 需求ID | 需求名称 | 需求描述 | 优先级 |
| :--- | :--- | :--- | :--- |
| FEED-01 | 反馈提交 | 系统应允许公众用户提交环境问题反馈,包括问题描述、位置标记、污染类型分类和图片上传。 | 高 |
| FEED-02 | AI内容审核 | 系统应自动分析反馈内容,识别垃圾信息、重复提交,并进行初步分类和紧急程度评估。 | 中 |
| FEED-03 | 人工审核 | 系统应提供主管审核反馈的工作台,支持查看详情、批准或驳回反馈。 | 高 |
| FEED-04 | 状态追踪 | 系统应记录和展示反馈的全生命周期状态变更,允许用户查询处理进度。 | 高 |
| FEED-05 | 反馈查询 | 系统应支持按多种条件(状态、时间、区域、类型等)查询和筛选反馈列表。 | 中 |
| FEED-06 | 反馈统计 | 系统应生成反馈数据的统计分析,包括数量分布、处理效率等指标。 | 低 |
| FEED-07 | 通知提醒 | 系统应在反馈状态变更时通知相关用户,保持信息透明。 | 中 |
**反馈管理流程图**:
```mermaid
graph TD
A[公众用户发现环境问题] --> B[打开反馈提交界面]
B --> C[填写问题描述]
C --> D[选择污染类型]
D --> E[评估严重程度]
E --> F[标记地理位置]
F --> G[上传现场照片]
G --> H[提交反馈]
H --> I[系统生成唯一事件ID]
I --> J[AI自动审核内容]
J --> K{AI审核结果}
K -- 明显无效 --> L[标记为AI_REJECTED]
K -- 需人工确认 --> M[进入主管审核队列]
L --> N[通知用户反馈被拒绝]
M --> O[主管查看反馈详情]
O --> P{审核决定}
P -- 驳回 --> Q[填写驳回理由]
P -- 通过 --> R[标记为有效反馈]
Q --> S[更新状态为REJECTED]
S --> T[通知用户反馈被驳回]
R --> U[创建关联任务]
U --> V[更新状态为PROCESSED]
W[用户查询反馈状态] --> X[系统展示处理进度]
Y[管理员查看统计数据] --> Z[系统生成反馈分析报表]
```