# 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个主要组件** 及其相互依赖关系,形成了一个完整的环境监测系统架构。