/** * Zulip集成业务模块 * * 功能描述: * - 提供Zulip账号关联管理业务逻辑 * - 提供Zulip事件处理业务逻辑 * - 通过 SESSION_QUERY_SERVICE 接口与 ChatModule 解耦 * * 架构说明: * - Business层:专注业务逻辑处理,不包含HTTP协议处理 * - Controller已迁移到Gateway层(src/gateway/zulip/) * - 通过 Core 层接口解耦,不直接依赖其他模块的具体实现 * * 迁移记录: * - 2026-01-14: 架构优化 - 将所有Controller迁移到Gateway层,符合四层架构规范 (修改者: moyin) * - 2026-01-14: 架构优化 - 移除冗余的DynamicConfigManagerService声明,该服务已由ZulipCoreModule提供 (修改者: moyin) * - 2026-01-14: 聊天功能迁移到新的四层架构模块 * - CleanWebSocketGateway -> gateway/chat/chat.gateway.ts * - ZulipService(聊天部分) -> business/chat/chat.service.ts * - SessionManagerService -> business/chat/services/chat_session.service.ts * - MessageFilterService -> business/chat/services/chat_filter.service.ts * - SessionCleanupService -> business/chat/services/chat_cleanup.service.ts * - ChatController -> gateway/chat/chat.controller.ts * - 2026-01-14: 通过 Core 层接口解耦,不再直接依赖 ChatModule 的具体实现 * * @author angjustinl * @version 3.0.0 * @since 2026-01-06 * @lastModified 2026-01-14 */ import { Module } from '@nestjs/common'; import { CacheModule } from '@nestjs/cache-manager'; // 业务服务 import { ZulipEventProcessorService } from './services/zulip_event_processor.service'; import { ZulipAccountsBusinessService } from './services/zulip_accounts_business.service'; // 依赖模块 import { ZulipCoreModule } from '../../core/zulip_core/zulip_core.module'; import { RedisModule } from '../../core/redis/redis.module'; import { LoggerModule } from '../../core/utils/logger/logger.module'; import { LoginCoreModule } from '../../core/login_core/login_core.module'; import { AuthModule } from '../auth/auth.module'; // 通过接口依赖 ChatModule(解耦) import { ChatModule } from '../chat/chat.module'; @Module({ imports: [ // 缓存模块 CacheModule.register(), // Zulip核心服务模块 ZulipCoreModule, // 注意:ZulipAccountsModule 是全局模块,已在 AppModule 中导入,无需重复导入 // Redis模块 RedisModule, // 日志模块 LoggerModule, // 登录模块 LoginCoreModule, // 认证模块 AuthModule, // 聊天模块 - 通过 SESSION_QUERY_SERVICE 接口提供会话查询能力 // ZulipEventProcessorService 依赖接口而非具体实现,实现解耦 ChatModule, ], providers: [ // Zulip事件处理服务 - 处理Zulip事件队列消息 ZulipEventProcessorService, // Zulip账号业务服务 - 账号关联管理 ZulipAccountsBusinessService, ], exports: [ // 导出事件处理服务 ZulipEventProcessorService, // 导出账号业务服务 ZulipAccountsBusinessService, // 重新导出ZulipCoreModule(包含DynamicConfigManagerService) ZulipCoreModule, ], }) export class ZulipModule {}