# 需求定义文档(续) ### 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[系统生成反馈分析报表] ```