import { ApiProperty } from '@nestjs/swagger'; import { RecognitionStatusEnum } from '../enums/recognition-status.enum'; import { RecognitionResultDto } from './recognition-result.dto'; /** * 药物识别状态响应 DTO */ export class RecognitionStatusDto { @ApiProperty({ description: '任务ID', example: 'task_user123_1234567890', }) taskId: string; @ApiProperty({ description: '识别状态', enum: RecognitionStatusEnum, example: RecognitionStatusEnum.ANALYZING_PRODUCT, }) status: RecognitionStatusEnum; @ApiProperty({ description: '当前步骤描述', example: '正在识别药品基本信息...', }) currentStep: string; @ApiProperty({ description: '进度百分比(0-100)', example: 40, }) progress: number; @ApiProperty({ description: '识别结果(仅在状态为completed时返回)', type: RecognitionResultDto, required: false, }) result?: RecognitionResultDto; @ApiProperty({ description: '错误信息(仅在状态为failed时返回)', example: '图片无法识别,请提供更清晰的照片', required: false, }) errorMessage?: string; @ApiProperty({ description: '创建时间', example: '2025-01-20T12:00:00.000Z', }) createdAt: Date; @ApiProperty({ description: '完成时间(仅在completed或failed时返回)', example: '2025-01-20T12:01:30.000Z', required: false, }) completedAt?: Date; }