4.2 KiB
4.2 KiB
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
核心功能:
- 文件上传和下载
- 图片处理
- 附件管理
- 文件安全检查
数据模型设计
核心实体
-
User: 用户信息
- 基本信息:姓名、邮箱、电话
- 认证信息:密码、角色
- 位置信息:经纬度
-
Feedback: 反馈信息
- 内容:标题、描述、类型
- 状态:处理状态、优先级
- 位置:经纬度、地址
- 附件:图片、文件
-
Task: 任务信息
- 基本信息:标题、描述、类型
- 分配信息:分配人、执行人
- 时间信息:创建时间、截止时间
- 状态:任务状态、完成度
-
Grid: 网格信息
- 区域信息:边界坐标、面积
- 分配信息:负责人、覆盖状态
- 统计信息:任务数量、完成率
-
Assignment: 分配记录
- 分配信息:任务ID、用户ID
- 时间信息:分配时间、完成时间
- 状态:分配状态、完成状态
业务规则
权限控制规则
- ADMIN: 全系统权限
- SUPERVISOR: 管理网格员,审核任务
- GRID_WORKER: 执行分配的任务
- PUBLIC: 仅能提交反馈
任务分配规则
- 基于网格区域自动分配
- 考虑网格员工作负载
- 紧急任务优先分配
- 支持手动重新分配
反馈处理规则
- AI预审核筛选
- 重复反馈合并
- 紧急反馈优先处理
- 自动生成处理任务
集成服务
AI服务集成
服务: 火山引擎AI 功能:
- 反馈内容智能分析
- 自动分类和优先级评估
- 处理建议生成
邮件服务
服务: 163 SMTP 功能:
- 密码重置邮件
- 任务通知邮件
- 系统通知邮件
文件存储
方案: 本地文件系统
目录: ./uploads/
支持格式: 图片、文档
事件驱动架构
核心事件
- FeedbackSubmittedForAiReviewEvent: 反馈提交AI审核
- TaskReadyForAssignmentEvent: 任务准备分配
- AuthenticationSuccessEvent: 登录成功
- AuthenticationFailureEvent: 登录失败
事件处理
- 异步事件处理
- 事件监听器解耦
- 支持事件重试机制
性能优化策略
缓存策略
- 用户信息缓存
- 网格数据缓存
- 统计数据缓存
- 配置信息缓存
异步处理
- AI审核异步化
- 邮件发送异步化
- 文件处理异步化
- 统计计算异步化
数据优化
- JSON文件分片存储
- 索引优化
- 分页查询
- 数据压缩
监控和日志
操作日志
- 用户操作记录
- 系统关键操作
- 异常操作告警
性能监控
- API响应时间
- 系统资源使用
- 错误率统计
业务监控
- 反馈处理效率
- 任务完成率
- 用户活跃度