From e960720298bdb3e09695cfbcf2a3e990eff24d0a Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期五, 15 一月 2021 15:28:47 +0800
Subject: [PATCH] 通过重写的方式解决与国标时间格式不一致的问题, 不需要修改jar包了。

---
 src/main/java/com/genersoft/iot/vmp/gb28181/bean/WvpSipDate.java                                |   63 +++++++++++++++++++++++++++++++
 /dev/null                                                                                       |    0 
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java |   10 ++++-
 pom.xml                                                                                         |   15 ++++++-
 src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java                                |    3 +
 5 files changed, 86 insertions(+), 5 deletions(-)

diff --git a/libs/jain-sip-ri-1.3.0-92.jar b/libs/jain-sip-ri-1.3.0-92.jar
deleted file mode 100644
index 960c83e..0000000
--- a/libs/jain-sip-ri-1.3.0-92.jar
+++ /dev/null
Binary files differ
diff --git a/pom.xml b/pom.xml
index b3accea..09ed630 100644
--- a/pom.xml
+++ b/pom.xml
@@ -126,13 +126,22 @@
 		</dependency>
 
 		<!-- sip鍗忚鏍� -->
+<!--		<dependency>-->
+<!--			<groupId>javax.sip</groupId>-->
+<!--			<artifactId>jain-sip-ri</artifactId>-->
+<!--			<version>1.3.0-92</version>-->
+<!--			<scope>system</scope>-->
+<!--			<systemPath>${pom.basedir}/libs/jain-sip-ri-1.3.0-92.jar</systemPath>-->
+<!--		</dependency>-->
+
+		<!-- https://mvnrepository.com/artifact/javax.sip/jain-sip-ri -->
 		<dependency>
 			<groupId>javax.sip</groupId>
 			<artifactId>jain-sip-ri</artifactId>
-			<version>1.3.0-92</version>
-			<scope>system</scope>
-			<systemPath>${pom.basedir}/libs/jain-sip-ri-1.3.0-92.jar</systemPath>
+			<version>1.3.0-91</version>
 		</dependency>
+
+
 		<dependency>
 			<groupId>log4j</groupId>
 			<artifactId>log4j</artifactId>
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java
index cc39aa4..45a6112 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java
@@ -1,6 +1,8 @@
 package com.genersoft.iot.vmp.gb28181.bean;
 
 
+import gov.nist.javax.sip.header.SIPDate;
+
 import java.util.List;
 
 /**    
@@ -49,4 +51,5 @@
 	public void setRecordList(List<RecordItem> recordList) {
 		this.recordList = recordList;
 	}
+
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/WvpSipDate.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/WvpSipDate.java
new file mode 100644
index 0000000..ba1a1c7
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/WvpSipDate.java
@@ -0,0 +1,63 @@
+package com.genersoft.iot.vmp.gb28181.bean;
+
+import gov.nist.javax.sip.header.SIPDate;
+
+/**
+ * 閲嶅啓jain sip鐨凷IPDate瑙e喅涓庡浗鏍囨椂闂存牸寮忎笉涓�鑷寸殑闂
+ */
+public class WvpSipDate extends SIPDate {
+
+    public WvpSipDate(long timeMillis) {
+        super(timeMillis);
+    }
+
+    @Override
+    public StringBuilder encode(StringBuilder var1) {
+        String var2;
+        if (this.month < 9) {
+            var2 = "0" + (this.month + 1);
+        } else {
+            var2 = "" + (this.month + 1);
+        }
+
+        String var3;
+        if (this.day < 10) {
+            var3 = "0" + this.day;
+        } else {
+            var3 = "" + this.day;
+        }
+
+        String var4;
+        if (this.hour < 10) {
+            var4 = "0" + this.hour;
+        } else {
+            var4 = "" + this.hour;
+        }
+
+        String var5;
+        if (this.minute < 10) {
+            var5 = "0" + this.minute;
+        } else {
+            var5 = "" + this.minute;
+        }
+
+        String var6;
+        if (this.second < 10) {
+            var6 = "0" + this.second;
+        } else {
+            var6 = "" + this.second;
+        }
+
+        int var8 = this.getJavaCal().get(14);
+        String var7;
+        if (var8 < 10) {
+            var7 = "00" + var8;
+        } else if (var8 < 100) {
+            var7 = "0" + var8;
+        } else {
+            var7 = "" + var8;
+        }
+
+        return var1.append(this.year).append("-").append(var2).append("-").append(var3).append("T").append(var4).append(":").append(var5).append(":").append(var6).append(".").append(var7);
+    }
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
index 2676469..18b5de1 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
@@ -16,6 +16,8 @@
 import javax.sip.message.Request;
 import javax.sip.message.Response;
 
+import com.genersoft.iot.vmp.gb28181.bean.WvpSipDate;
+import gov.nist.javax.sip.header.SIPDateHeader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.util.StringUtils;
@@ -25,7 +27,6 @@
 import com.genersoft.iot.vmp.gb28181.auth.DigestServerAuthenticationHelper;
 import com.genersoft.iot.vmp.gb28181.auth.RegisterLogicHandler;
 import com.genersoft.iot.vmp.gb28181.bean.Device;
-import com.genersoft.iot.vmp.gb28181.bean.Host;
 import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
 import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcessor;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
@@ -88,7 +89,12 @@
 			else if (passwordCorrect) {
 				response = getMessageFactory().createResponse(Response.OK, request);
 				// 娣诲姞date澶�
-				response.addHeader(getHeaderFactory().createDateHeader(Calendar.getInstance(Locale.ENGLISH)));
+				SIPDateHeader dateHeader = new SIPDateHeader();
+				// 浣跨敤鑷繁淇敼鐨�
+				WvpSipDate wvpSipDate = new WvpSipDate(Calendar.getInstance(Locale.ENGLISH).getTimeInMillis());
+				dateHeader.setDate(wvpSipDate);
+				response.addHeader(dateHeader);
+
 				ExpiresHeader expiresHeader = (ExpiresHeader) request.getHeader(Expires.NAME);
 				// 娣诲姞Contact澶�
 				response.addHeader(request.getHeader(ContactHeader.NAME));

--
Gitblit v1.8.0