You've already forked FrameTour-BE
清理过期人脸
This commit is contained in:
@ -43,4 +43,5 @@ public class FaceEntity {
|
||||
private String matchResult;
|
||||
private Date createAt;
|
||||
private Date updateAt;
|
||||
private int isDelete;
|
||||
}
|
||||
|
@ -32,5 +32,7 @@ public class FaceReqQuery extends BaseQueryParameterReq {
|
||||
private String matchResult;
|
||||
private Date startTime;
|
||||
private Date endTime;
|
||||
private Date updateStartTime;
|
||||
private Date updateEndTime;
|
||||
private Integer finishedJourney;
|
||||
}
|
||||
|
@ -1,10 +1,13 @@
|
||||
package com.ycwl.basic.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
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.req.FaceReqQuery;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.pc.faceSample.req.FaceSampleReqQuery;
|
||||
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
@ -29,6 +32,8 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import static com.ycwl.basic.constant.FaceConstant.USER_FACE_DB_NAME;
|
||||
|
||||
@Component
|
||||
@EnableScheduling
|
||||
@Slf4j
|
||||
@ -45,6 +50,8 @@ public class FaceCleaner {
|
||||
private VideoMapper videoMapper;
|
||||
@Autowired
|
||||
private ScenicRepository scenicRepository;
|
||||
@Autowired
|
||||
private FaceMapper faceMapper;
|
||||
|
||||
@Scheduled(cron = "0 0 4 * * ?")
|
||||
public void clean(){
|
||||
@ -56,6 +63,31 @@ public class FaceCleaner {
|
||||
});
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 0 3 * * ?")
|
||||
public void deleteExpireFace() {
|
||||
ScenicReqQuery scenicQuery = new ScenicReqQuery();
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(scenicQuery);
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenic.getId());
|
||||
Integer sampleStoreDay = scenicConfig.getSampleStoreDay();
|
||||
if (sampleStoreDay == null) {
|
||||
log.info("当前景区{},人脸样本保存天数未设置,默认3天", scenic.getName());
|
||||
sampleStoreDay = 3;
|
||||
}
|
||||
FaceReqQuery req = new FaceReqQuery();
|
||||
req.setScenicId(scenic.getId());
|
||||
req.setUpdateEndTime(DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -sampleStoreDay));
|
||||
List<FaceRespVO> list = faceMapper.list(req);
|
||||
list.forEach(face -> {
|
||||
boolean result = faceService.deleteFaceSample(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString());
|
||||
if (result) {
|
||||
faceMapper.deleteById(face.getId());
|
||||
}
|
||||
});
|
||||
log.info("当前景区{},删除人脸样本{}个", scenic.getName(), list.size());
|
||||
});
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 0 3 * * ?")
|
||||
public void deleteNotBuySource(){
|
||||
ScenicReqQuery scenicQuery = new ScenicReqQuery();
|
||||
|
Reference in New Issue
Block a user