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/service/GatewaySerService.java | 81 +++++++++++++++++++++++++++++++++-------
1 files changed, 66 insertions(+), 15 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 835baad..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,58 @@
//鍒犻櫎缂撳瓨
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;
+ }
+
+ /**
+ * 鏍规嵁鍒嗘満ID鑾峰彇鍒嗘満淇℃伅
+ *
+ * @param deptId
+ * @return
+ */
+ public GatewaySer getCacheSerByDeptId(String deptId) {
+ if (StringUtils.isEmpty(deptId)) {
+ return null;
+ }
+
+ String patten = RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_GATEWAY_SER_LIST) + "*";
+ Collection<String> keys = redisCache.keys(patten);
+ if (null == keys) {
+ return null;
+ }
+
+ GatewaySer ser = null;
+ for (String key : keys) {
+ ser = (GatewaySer) redisCache.getCacheObject(key);
+ if(deptId.equals(ser.getDeptId())){
+ return ser;
+ }
+ }
+ return null;
}
/**
@@ -176,26 +226,27 @@
if (StringUtils.isEmpty(companyId)) {
companyId = ContextUtil.getCompanyId();
}
+
+ GatewaySer result = null;
+ GatewaySer ser = null;
String patten = RedisConst.buildKey(companyId, RedisConst.KEY_GATEWAY_SER_LIST) + "*";
Collection<String> keys = redisCache.keys(patten);
- if (null == keys) {
- return null;
- }
-
- GatewaySer ser = null;
- for (String key : keys) {
- ser = (GatewaySer) redisCache.getCacheObject(key);
- if(id.equals(ser.getId())){
- break;
+ if (null != keys && !keys.isEmpty()) {
+ for (String key : keys) {
+ ser = (GatewaySer) redisCache.getCacheObject(key);
+ if(id.equals(ser.getId())){
+ result = ser;
+ break;
+ }
}
}
- if(null == ser){
- ser = getById(id);
- this.setCacheSer(ser);
+ if(null == result){
+ result = getById(id);
+ this.setCacheSer(result);
}
- return ser;
+ return result;
}
/**
--
Gitblit v1.9.3