Files
Environment-Monitoring-System/ems-backend/.serena/memories/business_logic_and_features.md
ChuXun 4ce487588a 1
2025-10-19 20:31:01 +08:00

4.2 KiB
Raw Blame History

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响应时间
  • 系统资源使用
  • 错误率统计

业务监控

  • 反馈处理效率
  • 任务完成率
  • 用户活跃度