You've already forked FrameTour-BE
refactor(face): 调整人脸关系数据删除逻辑
- 将删除人脸旧关系数据的逻辑从匹配前移至保存新关系前- 确保在更新人脸关系时正确清理旧数据- 避免重复删除操作,优化数据处理流程
This commit is contained in:
@@ -1143,13 +1143,6 @@ public class FaceServiceImpl implements FaceService {
|
||||
throw new BaseException("人脸不存在");
|
||||
}
|
||||
|
||||
// 在重新匹配前,删除该人脸的旧数据关系(member_source 和 member_video)
|
||||
log.debug("删除人脸旧关系数据:faceId={}, memberId={}", faceId, face.getMemberId());
|
||||
sourceMapper.deleteNotBuyFaceRelation(face.getMemberId(), faceId);
|
||||
videoMapper.deleteNotBuyFaceRelations(face.getMemberId(), faceId);
|
||||
memberRelationRepository.clearSCacheByFace(faceId);
|
||||
log.debug("人脸旧关系数据删除完成:faceId={}", faceId);
|
||||
|
||||
List<FaceSampleEntity> faceSamples = faceSampleMapper.listByIds(faceSampleIds);
|
||||
if (faceSamples.isEmpty()) {
|
||||
log.warn("未找到指定的人脸样本,faceSampleIds: {}", faceSampleIds);
|
||||
@@ -1220,6 +1213,13 @@ public class FaceServiceImpl implements FaceService {
|
||||
List<Long> sampleListIds = mergedResult.getSampleListIds();
|
||||
if (sampleListIds != null && !sampleListIds.isEmpty()) {
|
||||
try {
|
||||
// 在保存新关系前,删除该人脸的旧数据关系(member_source 和 member_video)
|
||||
log.debug("删除人脸旧关系数据:faceId={}, memberId={}", faceId, face.getMemberId());
|
||||
sourceMapper.deleteNotBuyFaceRelation(face.getMemberId(), faceId);
|
||||
videoMapper.deleteNotBuyFaceRelations(face.getMemberId(), faceId);
|
||||
memberRelationRepository.clearSCacheByFace(faceId);
|
||||
log.debug("人脸旧关系数据删除完成:faceId={}", faceId);
|
||||
|
||||
List<MemberSourceEntity> memberSourceEntityList = processMemberSources(sampleListIds, face);
|
||||
|
||||
if (!memberSourceEntityList.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user