From 312710045c2b5d84ed0dc97af4a4fe7704f619d5 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 30 一月 2026 10:31:01 +0800
Subject: [PATCH] 增加定时校验网关是否在线
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java | 3 -
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/GatewayScheduled.java | 54 +++++++++++++++++++++++++++
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java | 27 ++++++++++++-
3 files changed, 80 insertions(+), 4 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java
index 3fc2456..f299811 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java
@@ -139,10 +139,9 @@
if(isUpdateTime){
//蹇冭烦鏃堕棿
- ser.setHeartbeatTime(new Date());
+ ser.setUpdateTime(new Date());
}
- ser.setUpdateTime(new Date());
ser.setStatus(status);
gatewaySerMapper.updateById(ser);
@@ -159,7 +158,31 @@
//鍒犻櫎缂撳瓨
delCache(ser);
+ }
+ /**
+ * 鑾峰彇缁勭粐涓嬫墍鏈夌綉鍏充俊鎭�
+ * @param companyId
+ * @return
+ */
+ public List<GatewaySer> getCacheSer(String companyId) {
+ if (StringUtils.isEmpty(companyId)) {
+ companyId = ContextUtil.getCompanyId();
+ }
+
+ List<GatewaySer> result = new ArrayList<>();
+ String patten = RedisConst.buildKey(companyId, RedisConst.KEY_GATEWAY_SER_LIST) + "*";
+ Collection<String> keys = redisCache.keys(patten);
+ if (null != keys) {
+ for (String key : keys) {
+ result.add((GatewaySer) redisCache.getCacheObject(key));
+ }
+ }
+ if(result.isEmpty()){
+ result = getAllSer();
+ this.setCacheSer(result);
+ }
+ return result;
}
/**
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/GatewayScheduled.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/GatewayScheduled.java
new file mode 100644
index 0000000..626532d
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/GatewayScheduled.java
@@ -0,0 +1,54 @@
+package com.fzzy.igds.timer;
+
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.domain.GatewaySer;
+import com.fzzy.igds.service.GatewaySerService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description 瀹氭椂鏍搁獙缃戝叧鏄惁鍦ㄧ嚎骞舵洿鏂�
+ * @Author CZT
+ * @Date 2026/1/30 9:47
+ */
+@Slf4j
+@Component
+public class GatewayScheduled {
+
+ @Resource
+ private GatewaySerService gatewaySerService;
+
+ /**
+ * 姣�15鍒嗘墽琛屼竴娆�
+ */
+ @Scheduled(cron = "0 0/15 * * * ?")
+ public void timer() {
+
+ //鑾峰彇缂撳瓨涓墍鏈夌綉鍏�
+ List<GatewaySer> list = gatewaySerService.getCacheSer(null);
+ if(null == list || list.isEmpty()){
+ log.error("------------鑾峰彇缃戝叧淇℃伅涓虹┖锛屼笉鏍¢獙鏄惁绂荤嚎------------");
+ return;
+ }
+
+ Date cur = new Date();
+ Date update;
+ long min = 0;
+ for (GatewaySer gatewaySer : list) {
+ update = gatewaySer.getUpdateTime();
+ //璁$畻鍒嗛挓宸�
+ min = (cur.getTime() - update.getTime())/(60*1000);
+
+ if(min > 15){
+ //璁剧疆缃戝叧绂荤嚎
+ gatewaySerService.updateStatus(gatewaySer, Constant.YN_N, false);
+ }
+ }
+
+ }
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
index 729763a..7913bef 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
@@ -42,8 +42,7 @@
/**
* 姣忓ぉ涓ょ偣鎵ц锛氳繕娆炬彁閱�
*/
-// @Scheduled(cron = "0 0 2 * * ?")
- @Scheduled(cron = "0 6 10 * * ?")
+ @Scheduled(cron = "0 0 2 * * ?")
public void timer() {
doExe();
}
--
Gitblit v1.9.3