You've already forked FrameTour-BE
人脸真实删除、清理逻辑优化
This commit is contained in:
@ -23,6 +23,7 @@ public interface FaceMapper {
|
|||||||
FaceEntity get(Long id);
|
FaceEntity get(Long id);
|
||||||
int add(FaceEntity face);
|
int add(FaceEntity face);
|
||||||
int deleteById(Long id);
|
int deleteById(Long id);
|
||||||
|
int forceDeleteById(Long id);
|
||||||
int deleteByIds(@Param("list") List<Long> ids);
|
int deleteByIds(@Param("list") List<Long> ids);
|
||||||
int update(FaceEntity face);
|
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.ScenicMapper;
|
||||||
import com.ycwl.basic.mapper.SourceMapper;
|
import com.ycwl.basic.mapper.SourceMapper;
|
||||||
import com.ycwl.basic.mapper.VideoMapper;
|
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.req.FaceReqQuery;
|
||||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||||
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
|
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
|
||||||
@ -105,17 +106,23 @@ public class FaceCleaner {
|
|||||||
}
|
}
|
||||||
FaceReqQuery req = new FaceReqQuery();
|
FaceReqQuery req = new FaceReqQuery();
|
||||||
req.setScenicId(scenic.getId());
|
req.setScenicId(scenic.getId());
|
||||||
req.setUpdateEndTime(DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay));
|
Date faceEndDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay);
|
||||||
List<FaceRespVO> list = faceMapper.list(req);
|
List<FaceEntity> list = faceMapper.listEntityBeforeDate(scenic.getId(), faceEndDate);
|
||||||
list.forEach(face -> {
|
list.forEach(face -> {
|
||||||
boolean result = adapter.deleteFace(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString());
|
boolean result = adapter.deleteFace(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString());
|
||||||
if (result) {
|
if (result) {
|
||||||
log.info("当前景区{},人脸样本ID{},删除成功", scenic.getId(), face.getId());
|
log.info("当前景区{},人脸样本ID{},删除成功", scenic.getId(), face.getId());
|
||||||
faceMapper.deleteById(face.getId());
|
|
||||||
} else {
|
} 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());
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,6 +32,9 @@
|
|||||||
<delete id="deleteById">
|
<delete id="deleteById">
|
||||||
update face set is_delete = 1 where id = #{id}
|
update face set is_delete = 1 where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
<delete id="forceDeleteById">
|
||||||
|
DELETE FROM face where id = #{id}
|
||||||
|
</delete>
|
||||||
<delete id="deleteByIds">
|
<delete id="deleteByIds">
|
||||||
<if test="list!= null and list.size() > 0">
|
<if test="list!= null and list.size() > 0">
|
||||||
update face set is_delete = 1 where id in (
|
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 * FROM `zt`.`face_sample` WHERE `scenic_id` = '3930324797233434624' AND `create_at` < '2025-03-07 14:40:36' AND `device_id` = '3961959104355897344'
|
||||||
</select>
|
</select>
|
||||||
<select id="listEntityBeforeDate" resultType="com.ycwl.basic.model.pc.face.entity.FaceEntity">
|
<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>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Reference in New Issue
Block a user