/** * 聊天业务模块 * * 功能描述: * - 整合聊天相关的业务逻辑服务 * - 提供会话管理、消息过滤、清理等功能 * - 通过 SESSION_QUERY_SERVICE 接口向其他模块提供会话查询能力 * * 架构层级:Business Layer(业务层) * * 依赖关系: * - 依赖 ZulipCoreModule(核心层)提供Zulip技术服务 * - 依赖 RedisModule(核心层)提供缓存服务 * - 依赖 LoginCoreModule(核心层)提供Token验证 * - 依赖 ZulipAccountsModule(核心层)提供Zulip账号数据访问 * * 导出接口: * - SESSION_QUERY_SERVICE: 会话查询接口(供其他 Business 模块使用) * * 最近修改: * - 2026-01-15: 功能完善 - 添加ZulipAccountsModule依赖,支持登录时初始化Zulip客户端 (修改者: AI) * - 2026-01-14: 代码规范优化 - 完善文件头注释规范 (修改者: moyin) * * @author moyin * @version 1.2.0 * @since 2026-01-14 * @lastModified 2026-01-15 */ import { Module } from '@nestjs/common'; import { ChatService } from './chat.service'; import { ChatSessionService } from './services/chat_session.service'; import { ChatFilterService } from './services/chat_filter.service'; import { ChatCleanupService } from './services/chat_cleanup.service'; import { ZulipCoreModule } from '../../core/zulip_core/zulip_core.module'; import { RedisModule } from '../../core/redis/redis.module'; import { LoginCoreModule } from '../../core/login_core/login_core.module'; import { ZulipAccountsModule } from '../../core/db/zulip_accounts/zulip_accounts.module'; import { SESSION_QUERY_SERVICE } from '../../core/session_core/session_core.interfaces'; @Module({ imports: [ // Zulip核心服务模块 ZulipCoreModule, // Redis缓存模块 RedisModule, // 登录核心模块 LoginCoreModule, // Zulip账号数据库模块 ZulipAccountsModule.forRoot(), ], providers: [ // 主聊天服务 ChatService, // 会话管理服务 ChatSessionService, // 消息过滤服务 ChatFilterService, // 会话清理服务 ChatCleanupService, // 会话查询接口(供其他模块依赖) { provide: SESSION_QUERY_SERVICE, useExisting: ChatSessionService, }, ], exports: [ ChatService, ChatSessionService, ChatFilterService, ChatCleanupService, // 导出会话查询接口 SESSION_QUERY_SERVICE, ], }) export class ChatModule {}