You've already forked FrameTour-BE
兜底1个
This commit is contained in:
@@ -32,8 +32,6 @@ public class TemplateBiz {
|
|||||||
private FaceRepository faceRepository;
|
private FaceRepository faceRepository;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SourceMapper sourceMapper;
|
private SourceMapper sourceMapper;
|
||||||
@Autowired
|
|
||||||
private SourceRepository sourceRepository;
|
|
||||||
|
|
||||||
public boolean determineTemplateCanGenerate(Long templateId, Long faceId) {
|
public boolean determineTemplateCanGenerate(Long templateId, Long faceId) {
|
||||||
return determineTemplateCanGenerate(templateId, faceId, true);
|
return determineTemplateCanGenerate(templateId, faceId, true);
|
||||||
@@ -175,4 +173,17 @@ public class TemplateBiz {
|
|||||||
return filteredParams;
|
return filteredParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
public Long findFirstAvailableTemplate(List<Long> templateIds, Long faceId) {
|
||||||
|
if (templateIds == null || templateIds.isEmpty() || faceId == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Long templateId : templateIds) {
|
||||||
|
if (determineTemplateCanGenerate(templateId, faceId)) {
|
||||||
|
return templateId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@@ -269,7 +269,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
|||||||
log.info("faceId:{} faceSampleList is empty", faceId);
|
log.info("faceId:{} faceSampleList is empty", faceId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(faceRespVO.getScenicId());
|
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(faceRespVO.getScenicId());
|
||||||
List<TemplateRespVO> templateList = templateRepository.getTemplateListByScenicId(faceRespVO.getScenicId());
|
List<TemplateRespVO> templateList = templateRepository.getTemplateListByScenicId(faceRespVO.getScenicId());
|
||||||
if (templateList == null || templateList.isEmpty()) {
|
if (templateList == null || templateList.isEmpty()) {
|
||||||
// 没有vlog视频的情况下
|
// 没有vlog视频的情况下
|
||||||
@@ -284,11 +284,23 @@ public class TaskTaskServiceImpl implements TaskService {
|
|||||||
VideoPieceGetter.addTask(task);
|
VideoPieceGetter.addTask(task);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Integer.valueOf(3).equals(scenicConfig.getBookRoutine()) || Integer.valueOf(4).equals(scenicConfig.getBookRoutine())) {
|
if (Integer.valueOf(3).equals(scenicConfig.getInteger("book_routine")) || Integer.valueOf(4).equals(scenicConfig.getInteger("book_routine"))) {
|
||||||
// 生成全部视频的逻辑
|
// 生成全部视频的逻辑
|
||||||
templateList.forEach(template -> createTaskByFaceIdAndTemplateId(faceId, template.getId(), 1));
|
templateList.forEach(template -> createTaskByFaceIdAndTemplateId(faceId, template.getId(), 1));
|
||||||
} else {
|
} else {
|
||||||
createTaskByFaceIdAndTemplateId(faceId, templateList.getFirst().getId(), 1);
|
if (Boolean.TRUE.equals(scenicConfig.getBoolean("force_create_vlog"))) {
|
||||||
|
Long availableTemplateId = templateBiz.findFirstAvailableTemplate(templateList.stream().map(TemplateRespVO::getId).toList(), faceId);
|
||||||
|
if (availableTemplateId != null) {
|
||||||
|
createTaskByFaceIdAndTemplateId(faceId, availableTemplateId, 1);
|
||||||
|
} else {
|
||||||
|
log.info("faceId:{} available template is not exist", faceId);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 非强制创建,只创建第一个可用模板
|
||||||
|
if (!templateList.isEmpty()) {
|
||||||
|
createTaskByFaceIdAndTemplateId(faceId, templateList.getFirst().getId(), 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user