From 9a80e10f6ead2382503a4059f4472471bfd45b8b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 13 五月 2022 22:15:31 +0800
Subject: [PATCH] 使用 java.time.Instant代替 java.util.Date

---
 src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java |   29 ++++++-----------------------
 1 files changed, 6 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
index 5cfa852..0144e83 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
@@ -11,24 +11,18 @@
 import com.genersoft.iot.vmp.gb28181.task.impl.MobilePositionSubscribeTask;
 import com.genersoft.iot.vmp.gb28181.bean.SyncStatus;
 import com.genersoft.iot.vmp.service.IMediaServerService;
-import com.genersoft.iot.vmp.service.IMediaService;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 import com.genersoft.iot.vmp.storager.dao.DeviceMapper;
 import com.genersoft.iot.vmp.utils.DateUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
-import javax.sip.DialogState;
-import javax.sip.TimeoutEvent;
-import java.text.ParseException;
-import java.util.Calendar;
-import java.util.Date;
+import java.time.Instant;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 璁惧涓氬姟锛堢洰褰曡闃咃級
@@ -101,9 +95,7 @@
         // 鍒锋柊杩囨湡浠诲姟
         String registerExpireTaskKey = registerExpireTaskKeyPrefix + device.getDeviceId();
         dynamicTask.stop(registerExpireTaskKey);
-        dynamicTask.startDelay(registerExpireTaskKey, ()->{
-            offline(device.getDeviceId());
-        }, device.getExpires() * 1000);
+        dynamicTask.startDelay(registerExpireTaskKey, ()-> offline(device.getDeviceId()), device.getExpires() * 1000);
     }
 
     @Override
@@ -217,18 +209,9 @@
 
     @Override
     public boolean expire(Device device) {
-        Date registerTimeDate;
-        try {
-            registerTimeDate = DateUtil.format.parse(device.getRegisterTime());
-        } catch (ParseException e) {
-            logger.error("璁惧鏃堕棿鏍煎紡鍖栧け璐ワ細{}->{} ", device.getDeviceId(), device.getRegisterTime() );
-            return false;
-        }
-        int expires = device.getExpires();
-        Calendar calendarForExpire = Calendar.getInstance();
-        calendarForExpire.setTime(registerTimeDate);
-        calendarForExpire.set(Calendar.SECOND, calendarForExpire.get(Calendar.SECOND) + expires);
-        return calendarForExpire.before(DateUtil.getNow());
+        Instant registerTimeDate = Instant.from(DateUtil.formatter.parse(device.getRegisterTime()));
+        Instant expireInstant = registerTimeDate.plusMillis(TimeUnit.SECONDS.toMillis(device.getExpires()));
+        return expireInstant.isBefore(Instant.now());
     }
 
     @Override

--
Gitblit v1.8.0