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