- 按 BACKEND-PLAN.md 将项目重构为 4 层架构: config/ -> common/ -> infrastructure/ -> modules/ - 15 个业务模块,遵循 Controller → Service → Repository 分层 - infrastructure: PrismaService / RedisService / QueueService / AiService / StorageService - common: guards / interceptors / filters / pipes / decorators / dto / types / utils - Prisma schema 含 27 张表,MySQL 8.0 服务器 db push 成功 - Redis 7 接入: 限流/任务状态/分布式锁/队列预留 - ai-analysis 模块: 每日 50 次限流 + 重复提交锁 + 异步任务状态追踪 - document-import 模块: 异步导入流程 + 进度追踪 - notifications 模块: BullMQ notification 队列预留 - /health 端点实时返回 database + redis 连接状态 - Swagger 注册 15 个 tag,67 个路由全部映射
23 lines
720 B
TypeScript
23 lines
720 B
TypeScript
import { Controller, Get, Post, Param, HttpCode, HttpStatus, Body } from '@nestjs/common';
|
|
import { ApiTags, ApiOperation } from '@nestjs/swagger';
|
|
import { DocumentImportService } from './document-import.service';
|
|
|
|
@ApiTags('document-import')
|
|
@Controller('imports')
|
|
export class DocumentImportController {
|
|
constructor(private readonly service: DocumentImportService) {}
|
|
|
|
@Post()
|
|
@HttpCode(HttpStatus.CREATED)
|
|
@ApiOperation({ summary: '创建导入任务' })
|
|
async createImport(@Body() body: any) {
|
|
return this.service.createImport(body);
|
|
}
|
|
|
|
@Get(':id/status')
|
|
@ApiOperation({ summary: '查询导入状态' })
|
|
async getStatus(@Param('id') id: string) {
|
|
return this.service.getStatus(id);
|
|
}
|
|
}
|