# EMS后端业务逻辑与核心功能 ## 核心业务模块 ### 1. 用户管理模块 **控制器**: `AuthController`, `PersonnelController`, `ProfileController` **核心功能**: - 用户注册、登录、注销 - JWT Token生成和验证 - 密码重置(邮件验证码) - 用户信息管理 - 角色权限控制 **用户角色**: - `ADMIN`: 系统管理员 - `SUPERVISOR`: 主管 - `GRID_WORKER`: 网格员 - `PUBLIC`: 公众用户 ### 2. 反馈管理模块 **控制器**: `FeedbackController`, `PublicController` **核心功能**: - 公众反馈提交 - 反馈审核和处理 - AI智能审核集成 - 反馈状态跟踪 - 反馈统计分析 **反馈状态流程**: ``` PENDING → AI_REVIEWING → APPROVED/REJECTED → TASK_CREATED ``` ### 3. 任务管理模块 **控制器**: `TaskManagementController`, `TaskAssignmentController`, `GridWorkerTaskController`, `SupervisorController` **核心功能**: - 任务创建和分配 - 任务执行跟踪 - 任务审核和验收 - 任务统计报告 - 自动任务分配算法 **任务状态流程**: ``` CREATED → ASSIGNED → IN_PROGRESS → SUBMITTED → APPROVED/REJECTED ``` ### 4. 网格管理模块 **控制器**: `GridController`, `MapController` **核心功能**: - 网格区域划分 - 网格员分配 - 网格覆盖率统计 - 地图可视化 - 路径规划算法 ### 5. 数据分析模块 **控制器**: `DashboardController` **核心功能**: - 实时数据统计 - 趋势分析 - 热力图生成 - AQI数据处理 - 污染物阈值监控 ### 6. 文件管理模块 **控制器**: `FileController` **核心功能**: - 文件上传和下载 - 图片处理 - 附件管理 - 文件安全检查 ## 数据模型设计 ### 核心实体 1. **User**: 用户信息 - 基本信息:姓名、邮箱、电话 - 认证信息:密码、角色 - 位置信息:经纬度 2. **Feedback**: 反馈信息 - 内容:标题、描述、类型 - 状态:处理状态、优先级 - 位置:经纬度、地址 - 附件:图片、文件 3. **Task**: 任务信息 - 基本信息:标题、描述、类型 - 分配信息:分配人、执行人 - 时间信息:创建时间、截止时间 - 状态:任务状态、完成度 4. **Grid**: 网格信息 - 区域信息:边界坐标、面积 - 分配信息:负责人、覆盖状态 - 统计信息:任务数量、完成率 5. **Assignment**: 分配记录 - 分配信息:任务ID、用户ID - 时间信息:分配时间、完成时间 - 状态:分配状态、完成状态 ## 业务规则 ### 权限控制规则 1. **ADMIN**: 全系统权限 2. **SUPERVISOR**: 管理网格员,审核任务 3. **GRID_WORKER**: 执行分配的任务 4. **PUBLIC**: 仅能提交反馈 ### 任务分配规则 1. 基于网格区域自动分配 2. 考虑网格员工作负载 3. 紧急任务优先分配 4. 支持手动重新分配 ### 反馈处理规则 1. AI预审核筛选 2. 重复反馈合并 3. 紧急反馈优先处理 4. 自动生成处理任务 ## 集成服务 ### AI服务集成 **服务**: 火山引擎AI **功能**: - 反馈内容智能分析 - 自动分类和优先级评估 - 处理建议生成 ### 邮件服务 **服务**: 163 SMTP **功能**: - 密码重置邮件 - 任务通知邮件 - 系统通知邮件 ### 文件存储 **方案**: 本地文件系统 **目录**: `./uploads/` **支持格式**: 图片、文档 ## 事件驱动架构 ### 核心事件 1. **FeedbackSubmittedForAiReviewEvent**: 反馈提交AI审核 2. **TaskReadyForAssignmentEvent**: 任务准备分配 3. **AuthenticationSuccessEvent**: 登录成功 4. **AuthenticationFailureEvent**: 登录失败 ### 事件处理 - 异步事件处理 - 事件监听器解耦 - 支持事件重试机制 ## 性能优化策略 ### 缓存策略 1. 用户信息缓存 2. 网格数据缓存 3. 统计数据缓存 4. 配置信息缓存 ### 异步处理 1. AI审核异步化 2. 邮件发送异步化 3. 文件处理异步化 4. 统计计算异步化 ### 数据优化 1. JSON文件分片存储 2. 索引优化 3. 分页查询 4. 数据压缩 ## 监控和日志 ### 操作日志 - 用户操作记录 - 系统关键操作 - 异常操作告警 ### 性能监控 - API响应时间 - 系统资源使用 - 错误率统计 ### 业务监控 - 反馈处理效率 - 任务完成率 - 用户活跃度