From e2abf0dd0c49bc6e82f428ec747865cc806147a3 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期六, 10 一月 2026 15:23:29 +0800
Subject: [PATCH] 优化网关配置

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java |   77 ++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 37 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 0c67c5d..835baad 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
@@ -12,6 +12,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.service.ISysDeptService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.*;
@@ -99,22 +100,53 @@
         if (StringUtils.isEmpty(ser.getCompanyId())) {
             ser.setCompanyId(ContextUtil.getCompanyId());
         }
-        if (StringUtils.isEmpty(ser.getDeptId())) {
-            ser.setDeptId(ContextUtil.subDeptId(null));
+
+        //鍒ゆ柇鎺ュ彛璺緞
+        if (StringUtils.isEmpty(ser.getPlateNumUrl())) {
+            ser.setPlateNumUrl("/open/api/get-plateNum");
         }
-        if (StringUtils.isBlank(ser.getUpdateBy())) {
+        if (StringUtils.isEmpty(ser.getPlayUrl())) {
+            ser.setPlayUrl("/open/api/get-media");
+        }
+        if (StringUtils.isEmpty(ser.getSnapUrl())) {
+            ser.setSnapUrl("/open/api/snap-img");
+        }
+        if (StringUtils.isEmpty(ser.getPtzUrl())) {
+            ser.setPtzUrl("/open/api/ptz-media");
+        }
+
+        ser.setUpdateBy(ContextUtil.getLoginUserName());
+        ser.setUpdateTime(new Date());
+        if (StringUtils.isBlank(ser.getCreateBy())) {
             ser.setCreateBy(ContextUtil.getLoginUserName());
             ser.setCreateTime(new Date());
-            ser.setUpdateBy(ContextUtil.getLoginUserName());
-            ser.setUpdateTime(new Date());
             gatewaySerMapper.insert(ser);
         } else {
-            ser.setUpdateBy(ContextUtil.getLoginUserName());
-            ser.setUpdateTime(new Date());
             gatewaySerMapper.updateById(ser);
         }
 
         refreshCache(ser.getCompanyId());
+    }
+
+    /**
+     * 寮傛鏇存柊缃戝叧鐘舵��
+     * @param ser  淇℃伅
+     * @param status  鐘舵��
+     * @param isUpdateTime  鏄惁鏇存柊蹇冭烦鏃堕棿
+     */
+    @Async
+    public void updateStatus(GatewaySer ser, String status, boolean isUpdateTime) {
+
+        if(isUpdateTime){
+            //蹇冭烦鏃堕棿
+            ser.setHeartbeatTime(new Date());
+        }
+
+        ser.setUpdateTime(new Date());
+        ser.setStatus(status);
+        gatewaySerMapper.updateById(ser);
+
+        setCacheSer(ser);
     }
 
     /**
@@ -134,34 +166,6 @@
      * 鏍规嵁鍒嗘満ID鑾峰彇鍒嗘満淇℃伅
      *
      * @param companyId
-     * @param deptId
-     * @return
-     */
-    public List<GatewaySer> getCacheSerByDeptId(String companyId, String deptId) {
-        if (StringUtils.isEmpty(deptId)) {
-            return null;
-        }
-        if (StringUtils.isEmpty(companyId)) {
-            companyId = ContextUtil.getCompanyId();
-        }
-        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEVICE_SER_LIST, deptId) + "*";
-        Collection<String> keys = redisCache.keys(patten);
-        if (null == keys) {
-            return null;
-        }
-
-        List<GatewaySer> list = new ArrayList<>();
-        for (String key : keys) {
-            list.add((GatewaySer) redisCache.getCacheObject(key));
-        }
-
-        return list;
-    }
-
-    /**
-     * 鏍规嵁鍒嗘満ID鑾峰彇鍒嗘満淇℃伅
-     *
-     * @param companyId
      * @param id
      * @return
      */
@@ -172,13 +176,12 @@
         if (StringUtils.isEmpty(companyId)) {
             companyId = ContextUtil.getCompanyId();
         }
-        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEVICE_SER_LIST) + "*";
+        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_GATEWAY_SER_LIST) + "*";
         Collection<String> keys = redisCache.keys(patten);
         if (null == keys) {
             return null;
         }
 
-        List<GatewaySer> list = new ArrayList<>();
         GatewaySer ser = null;
         for (String key : keys) {
             ser = (GatewaySer) redisCache.getCacheObject(key);

--
Gitblit v1.9.3