refactor:重构业务层服务架构

- 重构共享模块,移除冗余DTO定义
- 优化Zulip服务模块,重新组织控制器结构
- 更新用户管理和认证服务
- 移除过时的登录服务测试文件
This commit is contained in:
moyin
2026-01-08 23:05:13 +08:00
parent c2a1c6862d
commit 0f37130832
16 changed files with 38 additions and 54 deletions

View File

@@ -10,9 +10,13 @@
* - 13: Zulip账号创建一致性 * - 13: Zulip账号创建一致性
* - 验证需求: 账号创建成功率和数据一致性 * - 验证需求: 账号创建成功率和数据一致性
* *
*
* - 2026-01-08: 文件重命名 - kebab-case为snake_case命名规范 (修改者: moyin)
*
* @author angjustinl * @author angjustinl
* @version 1.0.0 * @version 1.0.1
* @since 2025-01-05 * @since 2025-01-05
* @lastModified 2026-01-08
*/ */
import { Test, TestingModule } from '@nestjs/testing'; import { Test, TestingModule } from '@nestjs/testing';

View File

@@ -11,12 +11,13 @@
* - Swagger API文档支持 * - Swagger API文档支持
* *
* *
* - 2026-01-08: 文件夹扁平化 - dto/ (修改者: moyin)
* - 2026-01-07: 代码规范优化 - (storage_mode->storageMode) * - 2026-01-07: 代码规范优化 - (storage_mode->storageMode)
* *
* @author moyin * @author moyin
* @version 1.0.1 * @version 1.0.2
* @since 2025-12-17 * @since 2025-12-17
* @lastModified 2026-01-07 * @lastModified 2026-01-08
*/ */
import { ApiProperty } from '@nestjs/swagger'; import { ApiProperty } from '@nestjs/swagger';

View File

@@ -1,26 +0,0 @@
/**
* 共享 DTO 统一导出
*
* 功能描述:
* - 导出所有共享的 DTO 类
* - 提供统一的导入入口
* - 简化DTO类的导入路径
*
* 职责分离:
* - 模块导出统一管理DTO类的导出
* - 路径简化:提供简洁的导入接口
*
* 最近修改:
* - 2026-01-07: 代码规范优化 - 更新注释规范和作者信息
*
* @author moyin
* @version 1.0.1
* @since 2025-12-24
* @lastModified 2026-01-07
*/
// 应用状态相关
export * from './app_status.dto';
// 错误响应相关
export * from './error_response.dto';

View File

@@ -11,12 +11,13 @@
* - Swagger错误响应文档 * - Swagger错误响应文档
* *
* *
* - 2026-01-08: 文件夹扁平化 - dto/ (修改者: moyin)
* - 2026-01-07: 代码规范优化 - * - 2026-01-07: 代码规范优化 -
* *
* @author moyin * @author moyin
* @version 1.0.1 * @version 1.0.2
* @since 2025-12-17 * @since 2025-12-17
* @lastModified 2026-01-07 * @lastModified 2026-01-08
*/ */
import { ApiProperty } from '@nestjs/swagger'; import { ApiProperty } from '@nestjs/swagger';

View File

@@ -11,13 +11,17 @@
* - 模块封装:隐藏内部文件结构细节 * - 模块封装:隐藏内部文件结构细节
* *
* 最近修改: * 最近修改:
* - 2026-01-08: 文件夹扁平化 - 更新导入路径移除dto/子文件夹 (修改者: moyin)
* - 2026-01-07: 代码规范优化 - 更新注释规范和作者信息 * - 2026-01-07: 代码规范优化 - 更新注释规范和作者信息
* *
* @author moyin * @author moyin
* @version 1.0.1 * @version 1.0.2
* @since 2025-12-24 * @since 2025-12-24
* @lastModified 2026-01-07 * @lastModified 2026-01-08
*/ */
// DTO // 应用状态相关
export * from './dto'; export * from './app_status.dto';
// 错误响应相关
export * from './error_response.dto';

View File

@@ -27,7 +27,7 @@
import { Body, Controller, Get, HttpCode, HttpStatus, Param, Put, Post, UseGuards, ValidationPipe, UsePipes, Logger } from '@nestjs/common'; import { Body, Controller, Get, HttpCode, HttpStatus, Param, Put, Post, UseGuards, ValidationPipe, UsePipes, Logger } from '@nestjs/common';
import { ApiBearerAuth, ApiBody, ApiOperation, ApiParam, ApiResponse, ApiTags } from '@nestjs/swagger'; import { ApiBearerAuth, ApiBody, ApiOperation, ApiParam, ApiResponse, ApiTags } from '@nestjs/swagger';
import { AdminGuard } from '../admin/guards/admin.guard'; import { AdminGuard } from '../admin/admin.guard';
import { UserManagementService } from './user_management.service'; import { UserManagementService } from './user_management.service';
import { Throttle, ThrottlePresets } from '../../core/security_core/throttle.decorator'; import { Throttle, ThrottlePresets } from '../../core/security_core/throttle.decorator';
import { Timeout, TimeoutPresets } from '../../core/security_core/timeout.decorator'; import { Timeout, TimeoutPresets } from '../../core/security_core/timeout.decorator';

View File

@@ -40,16 +40,16 @@ import {
ApiBearerAuth, ApiBearerAuth,
ApiQuery, ApiQuery,
} from '@nestjs/swagger'; } from '@nestjs/swagger';
import { JwtAuthGuard } from '../../auth/jwt_auth.guard'; import { JwtAuthGuard } from '../auth/jwt_auth.guard';
import { ZulipService } from '../zulip.service'; import { ZulipService } from './zulip.service';
import { ZulipWebSocketGateway } from '../zulip_websocket.gateway'; import { ZulipWebSocketGateway } from './zulip_websocket.gateway';
import { import {
SendChatMessageDto, SendChatMessageDto,
ChatMessageResponseDto, ChatMessageResponseDto,
GetChatHistoryDto, GetChatHistoryDto,
ChatHistoryResponseDto, ChatHistoryResponseDto,
SystemStatusResponseDto, SystemStatusResponseDto,
} from '../chat.dto'; } from './chat.dto';
@ApiTags('chat') @ApiTags('chat')
@Controller('chat') @Controller('chat')

View File

@@ -42,7 +42,7 @@
import { Injectable, Logger, Inject } from '@nestjs/common'; import { Injectable, Logger, Inject } from '@nestjs/common';
import { IRedisService } from '../../../core/redis/redis.interface'; import { IRedisService } from '../../../core/redis/redis.interface';
import { IZulipConfigService } from '../../../core/zulip_core/interfaces/zulip_core.interfaces'; import { IZulipConfigService } from '../../../core/zulip_core/zulip_core.interfaces';
/** /**
* 内容过滤结果接口 * 内容过滤结果接口

View File

@@ -23,7 +23,7 @@
import { Injectable, Logger, OnModuleInit, OnModuleDestroy, Inject } from '@nestjs/common'; import { Injectable, Logger, OnModuleInit, OnModuleDestroy, Inject } from '@nestjs/common';
import { SessionManagerService } from './session_manager.service'; import { SessionManagerService } from './session_manager.service';
import { IZulipClientPoolService } from '../../../core/zulip_core/interfaces/zulip_core.interfaces'; import { IZulipClientPoolService } from '../../../core/zulip_core/zulip_core.interfaces';
/** /**
* 清理任务配置接口 * 清理任务配置接口

View File

@@ -46,8 +46,8 @@
import { Injectable, Logger, Inject } from '@nestjs/common'; import { Injectable, Logger, Inject } from '@nestjs/common';
import { IRedisService } from '../../../core/redis/redis.interface'; import { IRedisService } from '../../../core/redis/redis.interface';
import { IZulipConfigService } from '../../../core/zulip_core/interfaces/zulip_core.interfaces'; import { IZulipConfigService } from '../../../core/zulip_core/zulip_core.interfaces';
import { Internal, Constants } from '../../../core/zulip_core/interfaces/zulip.interfaces'; import { Internal, Constants } from '../../../core/zulip_core/zulip.interfaces';
/** /**
* 游戏会话接口 - 重新导出以保持向后兼容 * 游戏会话接口 - 重新导出以保持向后兼容

View File

@@ -32,7 +32,7 @@
import { Injectable, OnModuleDestroy, Inject, forwardRef, Logger } from '@nestjs/common'; import { Injectable, OnModuleDestroy, Inject, forwardRef, Logger } from '@nestjs/common';
import { SessionManagerService } from './session_manager.service'; import { SessionManagerService } from './session_manager.service';
import { IZulipConfigService, IZulipClientPoolService } from '../../../core/zulip_core/interfaces/zulip_core.interfaces'; import { IZulipConfigService, IZulipClientPoolService } from '../../../core/zulip_core/zulip_core.interfaces';
/** /**
* Zulip消息接口 * Zulip消息接口

View File

@@ -49,9 +49,9 @@ import { SessionManagerService } from './services/session_manager.service';
import { MessageFilterService } from './services/message_filter.service'; import { MessageFilterService } from './services/message_filter.service';
import { ZulipEventProcessorService } from './services/zulip_event_processor.service'; import { ZulipEventProcessorService } from './services/zulip_event_processor.service';
import { SessionCleanupService } from './services/session_cleanup.service'; import { SessionCleanupService } from './services/session_cleanup.service';
import { ChatController } from './controllers/chat.controller'; import { ChatController } from './chat.controller';
import { WebSocketDocsController } from './controllers/websocket_docs.controller'; import { WebSocketDocsController } from './websocket_docs.controller';
import { ZulipAccountsController } from './controllers/zulip_accounts.controller'; import { ZulipAccountsController } from './zulip_accounts.controller';
import { ZulipCoreModule } from '../../core/zulip_core/zulip_core.module'; import { ZulipCoreModule } from '../../core/zulip_core/zulip_core.module';
import { ZulipAccountsModule } from '../../core/db/zulip_accounts/zulip_accounts.module'; import { ZulipAccountsModule } from '../../core/db/zulip_accounts/zulip_accounts.module';
import { RedisModule } from '../../core/redis/redis.module'; import { RedisModule } from '../../core/redis/redis.module';

View File

@@ -39,7 +39,7 @@ import {
IZulipConfigService, IZulipConfigService,
ZulipClientInstance, ZulipClientInstance,
SendMessageResult, SendMessageResult,
} from '../../core/zulip_core/interfaces/zulip_core.interfaces'; } from '../../core/zulip_core/zulip_core.interfaces';
import { ApiKeySecurityService } from '../../core/zulip_core/services/api_key_security.service'; import { ApiKeySecurityService } from '../../core/zulip_core/services/api_key_security.service';
import { LoginCoreService } from '../../core/login_core/login_core.service'; import { LoginCoreService } from '../../core/login_core/login_core.service';

View File

@@ -43,7 +43,7 @@ import {
IZulipClientPoolService, IZulipClientPoolService,
IZulipConfigService, IZulipConfigService,
IApiKeySecurityService, IApiKeySecurityService,
} from '../../core/zulip_core/interfaces/zulip_core.interfaces'; } from '../../core/zulip_core/zulip_core.interfaces';
import { LoginCoreService } from '../../core/login_core/login_core.service'; import { LoginCoreService } from '../../core/login_core/login_core.service';
/** /**

View File

@@ -33,9 +33,9 @@ import {
ApiParam, ApiParam,
ApiQuery, ApiQuery,
} from '@nestjs/swagger'; } from '@nestjs/swagger';
import { JwtAuthGuard } from '../../auth/jwt_auth.guard'; import { JwtAuthGuard } from '../auth/jwt_auth.guard';
import { ZulipAccountsService } from '../../../core/db/zulip_accounts/zulip_accounts.service'; import { ZulipAccountsService } from '../../core/db/zulip_accounts/zulip_accounts.service';
import { ZulipAccountsMemoryService } from '../../../core/db/zulip_accounts/zulip_accounts_memory.service'; import { ZulipAccountsMemoryService } from '../../core/db/zulip_accounts/zulip_accounts_memory.service';
import { import {
CreateZulipAccountDto, CreateZulipAccountDto,
UpdateZulipAccountDto, UpdateZulipAccountDto,
@@ -47,7 +47,7 @@ import {
BatchUpdateResponseDto, BatchUpdateResponseDto,
VerifyAccountDto, VerifyAccountDto,
VerifyAccountResponseDto, VerifyAccountResponseDto,
} from '../../../core/db/zulip_accounts/zulip_accounts.dto'; } from '../../core/db/zulip_accounts/zulip_accounts.dto';
@ApiTags('zulip-accounts') @ApiTags('zulip-accounts')
@Controller('zulip-accounts') @Controller('zulip-accounts')