From 2e92cf5c910d0feff4482c416c1ec089b5345033 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 8 May 2025 17:21:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E8=84=B8=E7=9C=9F=E5=AE=9E=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E3=80=81=E6=B8=85=E7=90=86=E9=80=BB=E8=BE=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ycwl/basic/mapper/FaceMapper.java | 1 + .../java/com/ycwl/basic/task/FaceCleaner.java | 15 +++++++++++---- src/main/resources/mapper/FaceMapper.xml | 5 ++++- 3 files changed, 16 insertions(+), 5 deletions(-) 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'