diff --git a/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java index 7f11b91..fdc1f28 100644 --- a/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java @@ -45,6 +45,7 @@ import com.aliyuncs.IAcsClient; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.Map; @@ -222,13 +223,18 @@ public class TaskFaceServiceImpl implements TaskFaceService { if (StringUtils.isNumeric(dbName)) { // 景区 allFaceSampleList = faceSampleMapper.listByIds(allFaceSampleIds); if (!acceptFaceSampleIds.isEmpty()) { - Long firstFaceSampleId = acceptFaceSampleIds.getFirst(); - Optional firstFaceSample = allFaceSampleList.stream().filter(faceSample -> faceSample.getId().equals(firstFaceSampleId)).findAny(); + List finalAcceptFaceSampleIds = acceptFaceSampleIds; + Optional firstFaceSample = allFaceSampleList.stream() + .filter(faceSample -> finalAcceptFaceSampleIds.contains(faceSample.getId())) + .sorted(Comparator.comparing(FaceSampleEntity::getCreateAt).reversed()) + .findAny(); +// Long firstFaceSampleId = acceptFaceSampleIds.getFirst(); +// Optional firstFaceSample = allFaceSampleList.stream().filter(faceSample -> faceSample.getId().equals(firstFaceSampleId)).findAny(); if (firstFaceSample.isPresent()) { if (tourMinutes > 0) { List acceptFaceSampleList = faceSampleMapper.listByIds(acceptFaceSampleIds); - Date startDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), -tourMinutes/2); - Date endDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), tourMinutes/2); + Date startDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), -tourMinutes); + Date endDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), 0); acceptFaceSampleIds = acceptFaceSampleList.stream() .filter(faceSample -> faceSample.getCreateAt().after(startDate) && faceSample.getCreateAt().before(endDate)) .map(FaceSampleEntity::getId) @@ -238,7 +244,7 @@ public class TaskFaceServiceImpl implements TaskFaceService { log.info("时间范围逻辑:景区未限制"); } } else { - log.info("时间范围逻辑:最高匹配ID:{},未找到", firstFaceSampleId); + log.info("时间范围逻辑:最高匹配ID:{},未找到", "--"); } } }