diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java index 77c65b8f..679e5211 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java @@ -1143,6 +1143,13 @@ 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 faceSamples = faceSampleMapper.listByIds(faceSampleIds); if (faceSamples.isEmpty()) { log.warn("未找到指定的人脸样本,faceSampleIds: {}", faceSampleIds);