You've already forked FrameTour-BE
人脸真实删除、清理逻辑优化
This commit is contained in:
@ -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<Long> ids);
|
||||
int update(FaceEntity face);
|
||||
|
||||
|
@ -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<FaceRespVO> list = faceMapper.list(req);
|
||||
Date faceEndDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay);
|
||||
List<FaceEntity> 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 {
|
||||
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());
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,9 @@
|
||||
<delete id="deleteById">
|
||||
update face set is_delete = 1 where id = #{id}
|
||||
</delete>
|
||||
<delete id="forceDeleteById">
|
||||
DELETE FROM face where id = #{id}
|
||||
</delete>
|
||||
<delete id="deleteByIds">
|
||||
<if test="list!= null and list.size() > 0">
|
||||
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'
|
||||
</select>
|
||||
<select id="listEntityBeforeDate" resultType="com.ycwl.basic.model.pc.face.entity.FaceEntity">
|
||||
SELECT * FROM `zt`.`face` WHERE `scenic_id` = #{scenicId} AND `create_at` < #{date}
|
||||
SELECT * FROM `zt`.`face` WHERE `scenic_id` = #{scenicId} AND `create_at` < #{endDate}
|
||||
</select>
|
||||
</mapper>
|
||||
|
Reference in New Issue
Block a user