fix(task): 修复巡逻时长计算逻辑

- 将 endDate 的计算方式从 0 分钟偏移改为 1 分钟偏移
- 这样可以确保包含第一张人脸采样图片在内的时间区间为 [startDate, endDate)- 从而更准确地计算巡逻时长
This commit is contained in:
2025-09-09 12:17:08 +08:00
parent 9ec222a155
commit c593e0c7e9

View File

@@ -234,7 +234,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
if (tourMinutes > 0) { if (tourMinutes > 0) {
List<FaceSampleEntity> acceptFaceSampleList = faceSampleMapper.listByIds(acceptFaceSampleIds); List<FaceSampleEntity> acceptFaceSampleList = faceSampleMapper.listByIds(acceptFaceSampleIds);
Date startDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), -tourMinutes); Date startDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), -tourMinutes);
Date endDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), 0); Date endDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), 1);
acceptFaceSampleIds = acceptFaceSampleList.stream() acceptFaceSampleIds = acceptFaceSampleList.stream()
.filter(faceSample -> faceSample.getCreateAt().after(startDate) && faceSample.getCreateAt().before(endDate)) .filter(faceSample -> faceSample.getCreateAt().after(startDate) && faceSample.getCreateAt().before(endDate))
.map(FaceSampleEntity::getId) .map(FaceSampleEntity::getId)