diff --git a/src/main/java/com/ycwl/basic/mapper/FaceMapper.java b/src/main/java/com/ycwl/basic/mapper/FaceMapper.java index 3af2ae1..51331ff 100644 --- a/src/main/java/com/ycwl/basic/mapper/FaceMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/FaceMapper.java @@ -23,6 +23,7 @@ public interface FaceMapper { FaceEntity get(Long id); int add(FaceEntity face); int deleteById(Long id); + int forceDeleteById(Long id); int deleteByIds(@Param("list") List ids); int update(FaceEntity face); diff --git a/src/main/java/com/ycwl/basic/task/FaceCleaner.java b/src/main/java/com/ycwl/basic/task/FaceCleaner.java index 6bfebf9..6a2008e 100644 --- a/src/main/java/com/ycwl/basic/task/FaceCleaner.java +++ b/src/main/java/com/ycwl/basic/task/FaceCleaner.java @@ -9,6 +9,7 @@ import com.ycwl.basic.mapper.FaceSampleMapper; import com.ycwl.basic.mapper.ScenicMapper; import com.ycwl.basic.mapper.SourceMapper; import com.ycwl.basic.mapper.VideoMapper; +import com.ycwl.basic.model.pc.face.entity.FaceEntity; import com.ycwl.basic.model.pc.face.req.FaceReqQuery; import com.ycwl.basic.model.pc.face.resp.FaceRespVO; import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity; @@ -105,17 +106,23 @@ public class FaceCleaner { } FaceReqQuery req = new FaceReqQuery(); req.setScenicId(scenic.getId()); - req.setUpdateEndTime(DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay)); - List list = faceMapper.list(req); + Date faceEndDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay); + List list = faceMapper.listEntityBeforeDate(scenic.getId(), faceEndDate); list.forEach(face -> { boolean result = adapter.deleteFace(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString()); if (result) { log.info("当前景区{},人脸样本ID{},删除成功", scenic.getId(), face.getId()); - faceMapper.deleteById(face.getId()); } else { - log.info("当前景区{},人脸样本ID{},删除失败", scenic.getId(), face.getId()); + result = adapter.deleteFace(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString()); + if (result) { + log.info("当前景区{},人脸样本ID{},删除成功", scenic.getId(), face.getId()); + } else { + log.info("当前景区{},人脸样本ID{},删除失败", scenic.getId(), face.getId()); + } } + faceMapper.forceDeleteById(face.getId()); }); + }); } diff --git a/src/main/resources/mapper/FaceMapper.xml b/src/main/resources/mapper/FaceMapper.xml index 6168dff..8b33258 100644 --- a/src/main/resources/mapper/FaceMapper.xml +++ b/src/main/resources/mapper/FaceMapper.xml @@ -32,6 +32,9 @@ update face set is_delete = 1 where id = #{id} + + DELETE FROM face where id = #{id} + update face set is_delete = 1 where id in ( @@ -121,6 +124,6 @@ SELECT * FROM `zt`.`face_sample` WHERE `scenic_id` = '3930324797233434624' AND `create_at` < '2025-03-07 14:40:36' AND `device_id` = '3961959104355897344'