|
@@ -18,6 +18,7 @@ import java.io.*;
|
|
|
import java.util.*;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 相机工具
|
|
@@ -79,6 +80,7 @@ public class CameraUtil {
|
|
|
}
|
|
|
|
|
|
List<String> ls = new ArrayList<>();
|
|
|
+ Map<Date, String> m = new HashMap<>();
|
|
|
// 调用视频服务返回参数
|
|
|
String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, startTm);
|
|
|
String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endTm);
|
|
@@ -104,25 +106,29 @@ public class CameraUtil {
|
|
|
Date edate = DateUtils.dateTime(DateUtils.YYYYMMDDHHMMSS, s4);
|
|
|
/* s | e | */
|
|
|
if (startTm.compareTo(sdate) <= 0 && endTm.compareTo(edate) > 0) {
|
|
|
- ls.add(mappingUrl + path.toString());
|
|
|
-
|
|
|
+ m.put(sdate, mappingUrl + path.toString());
|
|
|
/* | s e | */
|
|
|
} else if (startTm.compareTo(sdate) >= 0 && endTm.compareTo(edate) <= 0) {
|
|
|
- ls.add(mappingUrl + path.toString());
|
|
|
+ m.put(sdate, mappingUrl + path.toString());
|
|
|
|
|
|
/* | s | e */
|
|
|
} else if (startTm.compareTo(sdate) >= 0 && endTm.compareTo(edate) >= 0) {
|
|
|
- ls.add(mappingUrl + path.toString());
|
|
|
+ m.put(sdate, mappingUrl + path.toString());
|
|
|
|
|
|
/* s| | e */
|
|
|
} else if (startTm.compareTo(sdate) <= 0 && endTm.compareTo(edate) >= 0) {
|
|
|
- ls.add(mappingUrl + path.toString());
|
|
|
+ m.put(sdate, mappingUrl + path.toString());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (!ObjectUtils.isEmpty(ls)) {
|
|
|
+ if (!ObjectUtils.isEmpty(m) && m.size() > 0) {
|
|
|
+ Set<Date> dates = m.keySet();
|
|
|
+ // 排序
|
|
|
+ dates.stream().parallel().collect(Collectors.toList()).stream().sorted().forEach(d -> {
|
|
|
+ ls.add(m.get(d));
|
|
|
+ });
|
|
|
return ls;
|
|
|
// try {
|
|
|
// return historyPlay(ls, ph);
|