refactor(puzzle): 移除拼图生成记录中的复用逻辑

- 删除 PuzzleGenerationRecordEntity 中的 isDuplicate 和 originalRecordId 字段
- 移除插入记录时设置 isDuplicate 的逻辑
- 删除 FaceMatchingOrchestrator 中查询历史记录的逻辑
- 更新 Mapper XML 文件,移除相关字段和条件判断
- 简化生成流程,不再检查模板是否已生成
This commit is contained in:
2025-11-21 11:41:11 +08:00
parent d5fc5c2565
commit a860319ea1
4 changed files with 3 additions and 27 deletions

View File

@@ -70,20 +70,6 @@ public class PuzzleGenerationRecordEntity {
@TableField("content_hash")
private String contentHash;
/**
* 是否为复用记录
* 0-新生成, 1-复用历史记录
*/
@TableField("is_duplicate")
private Boolean isDuplicate;
/**
* 原始记录ID
* 当is_duplicate=1时,记录被复用的原始记录ID
*/
@TableField("original_record_id")
private Long originalRecordId;
/**
* 生成的图片URL
*/

View File

@@ -125,7 +125,6 @@ public class PuzzleGenerateServiceImpl implements IPuzzleGenerateService {
// 8. 没有历史记录,创建新的生成记录
PuzzleGenerationRecordEntity record = createRecord(template, request, resolvedScenicId);
record.setContentHash(contentHash);
record.setIsDuplicate(false);
recordMapper.insert(record);
try {

View File

@@ -369,7 +369,6 @@ public class FaceMatchingOrchestrator {
return;
}
ScenicV2DTO scenicBasic = scenicRepository.getScenicBasic(face.getScenicId());
List<PuzzleGenerationRecordEntity> records = puzzleGenerationRecordMapper.listByFaceId(faceId);
// 准备公共动态数据
Map<String, String> baseDynamicData = new HashMap<>();
@@ -387,11 +386,6 @@ public class FaceMatchingOrchestrator {
int failCount = 0;
for (PuzzleTemplateDTO template : templateList) {
try {
boolean anyMatch = records.stream().anyMatch(record -> record.getTemplateCode().equals(template.getCode()));
if (anyMatch) {
log.info("模板已生成,跳过");
continue;
}
log.info("开始生成拼图: scenicId={}, templateCode={}, templateName={}",
scenicId, template.getCode(), template.getName());