Jelajahi Sumber

change
1. 时间格式校验优化

kindring 1 tahun lalu
induk
melakukan
6ffb3e2047

+ 6 - 11
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java

@@ -114,22 +114,17 @@ public class RecordInfoResponseMessageHandler extends SIPRequestProcessorParent
                             record.setFileSize(getText(itemRecord, "FileSize"));
                             record.setAddress(getText(itemRecord, "Address"));
 
-                            String startTimeStr = getText(itemRecord, "StartTime");
-                            // 判断能否正常解析时间
-                            if (!DateUtil.verificationIso8601(startTimeStr)) {
-                                sumNum--;
-                                logger.info("[国标录像解析] 文件开始时间不符合Iso8601标准,移除该项数据");
-                                continue;
-                            }
-                            record.setStartTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(startTimeStr));
 
+                            String startTimeStr = getText(itemRecord, "StartTime");
                             String endTimeStr = getText(itemRecord, "EndTime");
-                            if (!DateUtil.verificationIso8601(endTimeStr)) {
+                            try {
+                                record.setStartTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(startTimeStr));
+                                record.setEndTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(endTimeStr));
+                            } catch (Exception e) {
                                 sumNum--;
-                                logger.info("[国标录像解析] 结束时间不符合Iso8601标准,移除该项数据");
+                                logger.error("[国标录像解析] 时间解析错误,移除该项数据");
                                 continue;
                             }
-                            record.setEndTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(endTimeStr));
 
                             record.setSecrecy(itemRecord.element("Secrecy") == null ? 0
                                     : Integer.parseInt(getText(itemRecord, "Secrecy")));