You've already forked FrameTour-BE
feat(source): 添加过滤已存在关联关系功能
- 在SourceMapper中新增filterExistingRelations方法 - 修改FaceServiceImpl中的关联关系保存逻辑 - 修改TaskFaceServiceImpl中的关联关系保存逻辑 - 修改VideoPieceGetter中的关联关系检查逻辑 - 在SourceMapper.xml中添加filterExistingRelations的SQL实现
This commit is contained in:
@@ -343,8 +343,11 @@ public class FaceServiceImpl implements FaceService {
|
||||
handleVideoRecreation(scenicConfig, memberSourceEntityList, faceId,
|
||||
face.getMemberId(), sampleListIds, isNew);
|
||||
|
||||
// 保存关联关系并创建任务
|
||||
sourceMapper.addRelations(memberSourceEntityList);
|
||||
// 过滤已存在的关联关系,避免重复添加
|
||||
List<MemberSourceEntity> filteredList = sourceMapper.filterExistingRelations(memberSourceEntityList);
|
||||
if (!filteredList.isEmpty()) {
|
||||
sourceMapper.addRelations(filteredList);
|
||||
}
|
||||
memberRelationRepository.clearSCacheByFace(faceId);
|
||||
taskTaskService.autoCreateTaskByFaceId(faceId);
|
||||
|
||||
@@ -1115,7 +1118,11 @@ public class FaceServiceImpl implements FaceService {
|
||||
handleVideoRecreation(scenicConfig, memberSourceEntityList, faceId,
|
||||
face.getMemberId(), sampleListIds, false);
|
||||
|
||||
sourceMapper.addRelations(memberSourceEntityList);
|
||||
// 过滤已存在的关联关系,避免重复添加
|
||||
List<MemberSourceEntity> filteredList = sourceMapper.filterExistingRelations(memberSourceEntityList);
|
||||
if (!filteredList.isEmpty()) {
|
||||
sourceMapper.addRelations(filteredList);
|
||||
}
|
||||
memberRelationRepository.clearSCacheByFace(faceId);
|
||||
taskTaskService.autoCreateTaskByFaceId(faceId);
|
||||
|
||||
|
@@ -153,7 +153,11 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
memberSourceEntity.setIsBuy(0);
|
||||
}
|
||||
}
|
||||
sourceMapper.addRelations(memberSourceEntityList);
|
||||
// 过滤已存在的关联关系,避免重复添加
|
||||
List<MemberSourceEntity> filteredList = sourceMapper.filterExistingRelations(memberSourceEntityList);
|
||||
if (!filteredList.isEmpty()) {
|
||||
sourceMapper.addRelations(filteredList);
|
||||
}
|
||||
memberRelationRepository.clearSCacheByFace(faceId);
|
||||
VideoPieceGetter.Task task = new VideoPieceGetter.Task();
|
||||
task.faceId = faceEntity.getId();
|
||||
|
Reference in New Issue
Block a user