This commit is contained in:
ChuXun
2025-10-19 20:31:01 +08:00
parent cfd054f0d9
commit 4ce487588a
287 changed files with 59148 additions and 0 deletions

View File

@@ -0,0 +1,193 @@
# 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响应时间
- 系统资源使用
- 错误率统计
### 业务监控
- 反馈处理效率
- 任务完成率
- 用户活跃度