From e67f52078602f3efb6da02ef8fc8cf0cf7fa7e7a Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期二, 03 二月 2026 10:46:45 +0800
Subject: [PATCH] 客户问题优化1

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java |   98 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 80 insertions(+), 18 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 d39fea2..7139b81 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
@@ -53,6 +53,7 @@
         if (StringUtils.isNotBlank(parentId)) {
             queryWrapper.likeRight("dept_id", parentId);
         }
+        queryWrapper.orderByAsc("order_num");
 
         return gatewaySerMapper.selectList(queryWrapper);
     }
@@ -100,14 +101,24 @@
         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.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.setHeartbeatTime(new Date());
             ser.setCreateBy(ContextUtil.getLoginUserName());
             ser.setCreateTime(new Date());
             gatewaySerMapper.insert(ser);
@@ -129,10 +140,9 @@
 
         if(isUpdateTime){
             //蹇冭烦鏃堕棿
-            ser.setHeartbeatTime(new Date());
+            ser.setUpdateTime(new Date());
         }
 
-        ser.setUpdateTime(new Date());
         ser.setStatus(status);
         gatewaySerMapper.updateById(ser);
 
@@ -149,7 +159,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;
     }
 
     /**
@@ -166,26 +227,27 @@
         if (StringUtils.isEmpty(companyId)) {
             companyId = ContextUtil.getCompanyId();
         }
-        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEVICE_SER_LIST) + "*";
-        Collection<String> keys = redisCache.keys(patten);
-        if (null == keys) {
-            return null;
-        }
 
+        GatewaySer result = null;
         GatewaySer ser = null;
-        for (String key : keys) {
-            ser = (GatewaySer) redisCache.getCacheObject(key);
-            if(id.equals(ser.getId())){
-                break;
+        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_GATEWAY_SER_LIST) + "*";
+        Collection<String> keys = redisCache.keys(patten);
+        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