1
This commit is contained in:
193
ems-backend/.serena/memories/business_logic_and_features.md
Normal file
193
ems-backend/.serena/memories/business_logic_and_features.md
Normal 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响应时间
|
||||
- 系统资源使用
|
||||
- 错误率统计
|
||||
|
||||
### 业务监控
|
||||
- 反馈处理效率
|
||||
- 任务完成率
|
||||
- 用户活跃度
|
||||
Reference in New Issue
Block a user