From a97a1eb281eb7d469ee5750b63826b455d780ee6 Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期六, 17 一月 2026 19:27:42 +0800
Subject: [PATCH] 调整银行工单审批

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java |   68 ++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 19 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..aaeaa6e 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);
     }
 
     /**
@@ -133,29 +165,28 @@
     /**
      * 鏍规嵁鍒嗘満ID鑾峰彇鍒嗘満淇℃伅
      *
-     * @param companyId
      * @param deptId
      * @return
      */
-    public List<GatewaySer> getCacheSerByDeptId(String companyId, String deptId) {
+    public GatewaySer getCacheSerByDeptId(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) + "*";
+
+        String patten = RedisConst.buildKey(ContextUtil.getCompanyId(), 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) {
-            list.add((GatewaySer) redisCache.getCacheObject(key));
+            ser = (GatewaySer) redisCache.getCacheObject(key);
+            if(deptId.equals(ser.getDeptId())){
+                return ser;
+            }
         }
-
-        return list;
+        return null;
     }
 
     /**
@@ -172,13 +203,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