package cn.iocoder.yudao.module.qcreport.service.aiimport;
|
|
import cn.iocoder.yudao.module.qcreport.controller.admin.aiimport.vo.QcReportAiDraftReqVO;
|
import cn.iocoder.yudao.module.qcreport.controller.admin.aiimport.vo.QcReportAiDraftRespVO;
|
|
/**
|
* AI 导入 Service 接口:读文件 → 出模板草稿。
|
*
|
* <h3>为什么是同步接口</h3>
|
* 一次导入要等 10~60 秒。做成异步需要任务表 + 轮询 + 线程池,而它换来的只是「用户可以先去干别的」——
|
* 但草稿只作参考,用户等结果和去干别的再回来,拿到的行为完全一样。为一个不改变结果的体验
|
* 引入一张表和一个线程池,不划算。
|
*
|
* <h3>为什么不落库</h3>
|
* 草稿只给人在设计器里确认,不需要一个能按 ID 回查的实体。不落库意味着失败、重试、放弃
|
* 都不留下任何需要清理的行;而「保存」仍然是既有的 {@code createVersion} / {@code updateVersion},
|
* Schema 校验(含判定规则)那道闸门自动生效,不存在第二条落库路径。
|
*/
|
public interface QcReportAiImportService {
|
|
/**
|
* 识别文件,返回模板草稿。
|
*
|
* @param reqVO 请求参数(文件 blobId、组件清单、补充说明)
|
* @return 模板草稿,含软提示
|
*/
|
QcReportAiDraftRespVO generateDraft(QcReportAiDraftReqVO reqVO);
|
|
}
|