Files
Environment-Monitoring-System/Report/完整依赖关系列表.md
ChuXun 02a830145e 1
2025-10-25 19:18:43 +08:00

191 lines
8.4 KiB
Markdown

# EMS系统完整依赖关系列表
## 1. 控制器层依赖 (Controller Dependencies)
### 控制器 → 服务层
- `AuthController``AuthService`, `VerificationCodeService`, `OperationLogService`
- `DashboardController``DashboardService`
- `FeedbackController``FeedbackService`
- `FileController``FileStorageService`
- `GridController``GridService`, `GridRepository`, `UserAccountRepository`, `OperationLogService`
- `GridWorkerTaskController``GridWorkerTaskService`
- `MapController``MapGridRepository`
- `OperationLogController``OperationLogService`
- `PathfindingController``AStarService`
- `PersonnelController``PersonnelService`, `UserAccountService`
- `ProfileController``UserFeedbackService`
- `PublicController``FeedbackService`
- `SupervisorController``SupervisorService`
- `TaskAssignmentController``TaskAssignmentService`
- `TaskManagementController``TaskManagementService`
### 控制器 → DTO
- `AuthController``LoginRequest`
- `FeedbackController``FeedbackSubmissionRequest`
- `TaskManagementController``TaskCreationRequest`
- `PersonnelController``UserCreationRequest`
## 2. 服务层依赖 (Service Dependencies)
### 服务 → 仓库层
- `AiReviewService``FeedbackRepository`
- `AuthService``UserAccountRepository`, `PasswordResetTokenRepository`
- `DashboardService``FeedbackRepository`, `UserAccountRepository`, `AqiDataRepository`, `AqiRecordRepository`, `GridRepository`, `TaskRepository`, `PollutantThresholdRepository`
- `FeedbackService``FeedbackRepository`, `UserAccountRepository`, `TaskRepository`
- `FileStorageService``AttachmentRepository`
- `GridService``GridRepository`, `UserAccountRepository`, `MapGridRepository`
- `GridWorkerTaskService``TaskRepository`, `TaskHistoryRepository`, `TaskSubmissionRepository`, `AttachmentRepository`
- `OperationLogService``OperationLogRepository`, `UserAccountRepository`
- `PersonnelService``UserAccountRepository`
- `SupervisorService``FeedbackRepository`
- `TaskAssignmentService``FeedbackRepository`, `UserAccountRepository`, `AssignmentRepository`, `TaskRepository`
- `TaskManagementService``TaskRepository`, `UserAccountRepository`, `TaskHistoryRepository`, `FeedbackRepository`, `TaskSubmissionRepository`, `AttachmentRepository`
- `UserAccountService``UserAccountRepository`
- `UserFeedbackService``FeedbackRepository`
- `AStarService``MapGridRepository`
### 服务 → 服务层
- `AuthService``JwtService`, `VerificationCodeService`, `OperationLogService`
- `FeedbackService``FileStorageService`, `TaskManagementService`, `OperationLogService`
- `GridService``OperationLogService`
- `GridWorkerTaskService``FileStorageService`, `OperationLogService`
- `PersonnelService``OperationLogService`
- `TaskAssignmentService``OperationLogService`
- `TaskManagementService``OperationLogService`, `AStarService`
- `VerificationCodeService``MailService`
## 3. 仓库层依赖 (Repository Dependencies)
### 仓库实现 → 存储服务
- `JsonAssignmentRecordRepository``JsonStorageService`
- `JsonAssignmentRepository``JsonStorageService`
- `JsonAqiDataRepository``JsonStorageService`
- `JsonAqiRecordRepository``JsonStorageService`
- `JsonAttachmentRepository``JsonStorageService`
- `JsonFeedbackRepository``JsonStorageService`
- `JsonGridRepository``JsonStorageService`
- `JsonMapGridRepository``JsonStorageService`
- `JsonOperationLogRepository``JsonStorageService`
- `JsonPasswordResetTokenRepository``JsonStorageService`
- `JsonPollutantThresholdRepository``JsonStorageService`
- `JsonTaskHistoryRepository``JsonStorageService`
- `JsonTaskRepository``JsonStorageService`
- `JsonTaskSubmissionRepository``JsonStorageService`
- `JsonUserAccountRepository``JsonStorageService`
### 仓库 → 模型层
- `AqiDataRepository``AqiData`
- `AqiRecordRepository``AqiRecord`
- `AssignmentRepository``Assignment`
- `AssignmentRecordRepository``AssignmentRecord`
- `AttachmentRepository``Attachment`
- `FeedbackRepository``Feedback`
- `GridRepository``Grid`
- `MapGridRepository``MapGrid`
- `OperationLogRepository``OperationLog`
- `PasswordResetTokenRepository``PasswordResetToken`
- `PollutantThresholdRepository``PollutantThreshold`
- `TaskRepository``Task`
- `TaskHistoryRepository``TaskHistory`
- `TaskSubmissionRepository``TaskSubmission`
- `UserAccountRepository``UserAccount`
## 4. 模型层关系 (Model Relationships)
### 实体关联
- `UserAccount` (1) ↔ `Feedback` (*) : 用户提交反馈
- `UserAccount` (1) ↔ `Task` (*) : 用户被分配任务
- `UserAccount` (1) ↔ `Role` (1) : 用户拥有角色
- `UserAccount` (1) ↔ `Assignment` (*) : 用户有分配记录
- `Feedback` (1) ↔ `Task` (1) : 反馈生成任务
- `Feedback` (*) ↔ `Attachment` (*) : 反馈包含附件
- `Task` (1) ↔ `Assignment` (*) : 任务有分配记录
- `Task` (*) ↔ `Attachment` (*) : 任务包含附件
- `Task` (1) ↔ `TaskHistory` (*) : 任务有历史记录
- `Task` (1) ↔ `TaskSubmission` (*) : 任务有提交记录
- `Grid` (1) ↔ `AqiRecord` (*) : 网格有空气质量记录
- `Assignment``Task`, `UserAccount` : 分配关联任务和用户
- `AssignmentRecord``Feedback`, `UserAccount` : 分配记录关联反馈和用户
- `Attachment``Feedback`, `TaskSubmission` : 附件关联反馈或任务提交
- `AqiData``Grid` : 空气质量数据关联网格
- `AqiRecord``Grid` : 空气质量记录关联网格
## 5. 服务实现依赖 (Service Implementation Dependencies)
### 接口实现关系
- `AiReviewServiceImpl``AiReviewService`
- `AuthServiceImpl``AuthService`
- `DashboardServiceImpl``DashboardService`
- `FeedbackServiceImpl``FeedbackService`
- `FileStorageServiceImpl``FileStorageService`
- `GridServiceImpl``GridService`
- `GridWorkerTaskServiceImpl``GridWorkerTaskService`
- `JsonStorageServiceImpl``JsonStorageService`
- `JwtServiceImpl``JwtService`
- `LoginAttemptServiceImpl``LoginAttemptService`
- `MailServiceImpl``MailService`
- `OperationLogServiceImpl``OperationLogService`
- `PersonnelServiceImpl``PersonnelService`
- `SupervisorServiceImpl``SupervisorService`
- `TaskAssignmentServiceImpl``TaskAssignmentService`
- `TaskManagementServiceImpl``TaskManagementService`
- `UserAccountServiceImpl``UserAccountService`
- `UserFeedbackServiceImpl``UserFeedbackService`
- `VerificationCodeServiceImpl``VerificationCodeService`
- `AStarServiceImpl``AStarService`
## 6. 安全层依赖 (Security Dependencies)
### 安全配置
- `SecurityConfig``JwtAuthenticationFilter`, `UserAccountService`
- `JwtAuthenticationFilter``UserDetailsServiceImpl`, `JwtService`
- `UserDetailsServiceImpl``UserAccountService`
- `CustomUserDetails``UserAccount`
- `JwtService``UserAccountRepository`
## 7. 配置层依赖 (Configuration Dependencies)
### 配置类
- `WebConfig` : Web配置
- `SecurityConfig` : 安全配置
- `JacksonConfig` : JSON序列化配置
## 8. 异常处理依赖 (Exception Dependencies)
### 异常类
- `GlobalExceptionHandler` : 全局异常处理器
- `FileStorageException` : 文件存储异常
- `ResourceNotFoundException` : 资源未找到异常
- `UnauthorizedException` : 未授权异常
- `ValidationException` : 验证异常
## 9. 事件处理依赖 (Event Dependencies)
### 事件监听器
- `TaskEventListener` : 任务事件监听器
- `FeedbackEventListener` : 反馈事件监听器
## 10. 枚举依赖 (Enum Dependencies)
### 枚举类型
- `Role` : 用户角色枚举
- `TaskStatus` : 任务状态枚举
- `FeedbackStatus` : 反馈状态枚举
- `OperationType` : 操作类型枚举
- `PollutantType` : 污染物类型枚举
- `GridStatus` : 网格状态枚举
## 总结
本系统采用分层架构设计,包含:
- **控制器层 (Controller)**: 15个控制器类
- **服务层 (Service)**: 20个服务接口及其实现
- **仓库层 (Repository)**: 15个仓库接口及其JSON实现
- **模型层 (Model)**: 15个实体类
- **安全层 (Security)**: 5个安全相关类
- **配置层 (Configuration)**: 3个配置类
- **异常处理**: 5个异常类
- **事件处理**: 2个事件监听器
- **枚举类型**: 6个枚举
总计约 **86个主要组件** 及其相互依赖关系,形成了一个完整的环境监测系统架构。