From 82e3be7117a57a4abec0e1c49a5b3bcffb588e81 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期一, 12 一月 2026 18:22:30 +0800
Subject: [PATCH] 增加项目启动缓存刷新

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutConfService.java |   19 ++++--
 fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSysConfPR.java           |    8 --
 fzzy-igdss-web/src/main/java/com/fzzy/init/SystemRunner.java              |  102 ++++++++++++++++++++++++++++++++++
 3 files changed, 115 insertions(+), 14 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutConfService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutConfService.java
index 28215d7..a45f339 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutConfService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutConfService.java
@@ -106,7 +106,7 @@
         inoutSysConf.setProgressOut("REGISTER-WEIGHT_EMPTY-HANDLE-WEIGHT_FULL-RECORD");
         this.saveSysConfData(inoutSysConf);
 
-        this.flushInoutSysConfCache(inoutSysConf);
+        this.flushInoutSysConfCache();
     }
 
     /**
@@ -138,17 +138,22 @@
             inoutSysConfMapper.update(data, new UpdateWrapper<InoutSysConf>().eq("dept_id", data.getDeptId()));
         }
 
-        this.flushInoutSysConfCache(data);
+        this.flushInoutSysConfCache();
     }
 
     /**
      * 璁剧疆缂撳瓨
      *
-     * @param data
      */
-    public void flushInoutSysConfCache(InoutSysConf data) {
-        String key = RedisConst.buildKey(data.getDeptId(), Constant.CACHE_INOUT_SYS_CONF);
-        redisCache.setCacheObject(key, data);
+    public void flushInoutSysConfCache() {
+        List<InoutSysConf> list = getSysConfData();
+        if(null == list || list.isEmpty()){
+            return;
+        }
+        for (InoutSysConf conf : list) {
+            String key = RedisConst.buildKey(conf.getDeptId(), Constant.CACHE_INOUT_SYS_CONF);
+            redisCache.setCacheObject(key, conf);
+        }
     }
 
     /**
@@ -163,7 +168,7 @@
         InoutSysConf conf = (InoutSysConf) redisCache.getCacheObject(key);
         if (null == conf) {
             conf = getInoutSysConf(deptId);
-            flushInoutSysConfCache(conf);
+            flushInoutSysConfCache();
         }
         return conf;
     }
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSysConfPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSysConfPR.java
index 25ef418..730c5fb 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSysConfPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSysConfPR.java
@@ -53,13 +53,7 @@
      */
     @Expose
     public void flushCache() {
-
-        List<InoutSysConf> list = getSysConfData();
-        if(null != list && list.size() > 0){
-            for (InoutSysConf inoutSysConf : list) {
-                inoutConfService.flushInoutSysConfCache(inoutSysConf);
-            }
-        }
+        inoutConfService.flushInoutSysConfCache();
     }
 
 }
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/init/SystemRunner.java b/fzzy-igdss-web/src/main/java/com/fzzy/init/SystemRunner.java
new file mode 100644
index 0000000..9be17b8
--- /dev/null
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/init/SystemRunner.java
@@ -0,0 +1,102 @@
+package com.fzzy.init;
+
+import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.service.*;
+import com.ruoyi.system.service.ISysCompanyService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 閰嶇疆绯荤粺绾у埆鐨勯」鐩惎鍔ㄥ垵濮嬪寲淇℃伅
+ *
+ * @author Andy
+ */
+@Service
+@Slf4j
+@Order(value = 1)
+public class SystemRunner implements CommandLineRunner {
+
+    @Resource
+    private ISysCompanyService iSysCompanyService;
+    @Resource
+    private SysDeptService sysDeptService;
+    @Resource
+    private CoreDeptService coreDeptService;
+    @Resource
+    private DicService dicService;
+    @Resource
+    private DepotService depotService;
+    @Resource
+    private DepotConfService depotConfService;
+    @Resource
+    private DeviceSerService deviceSerService;
+    @Resource
+    private InoutConfService inoutConfService;
+    @Resource
+    private SecCameraService secCameraService;
+    @Resource
+    private SnapConfService snapConfService;
+
+
+    @Override
+    public void run(String... args) throws Exception {
+        //缁勭粐淇℃伅鏀惧叆缂撳瓨
+        iSysCompanyService.resetCompanyCache();
+        List<Dept> list = coreDeptService.listDept(null, null, null);
+
+        for (Dept dept : list) {
+
+            flushCache(dept.getCompanyId(),dept.getId(), "绯荤粺璋冪敤");
+        }
+    }
+
+    /**
+     * 鍒嗙粍缁囧垵濮嬪寲
+     *
+     * @param companyId
+     * @param name
+     */
+    public void flushCache(String companyId,String deptId, String name) {
+
+        //鍒濆鍖栫敤鎴烽儴闂ㄥ埌鍐呭瓨
+        sysDeptService.initUserDeptMap(companyId);
+
+        //鍒濆鍖栧父鐢ㄥ瓧鍏稿埌鍐呭瓨
+        dicService.initDicMap(companyId);
+
+        //鍒濆鍖栨祦绋嬮厤缃�
+        inoutConfService.flushInoutSysConfCache();
+
+        //鍒濆璁惧閰嶇疆
+        inoutConfService.flushInoutConfCache(companyId, deptId);
+
+        //鍒濆鍖栦粨搴撶紦瀛�
+        depotService.flushCache(companyId);
+
+        //鍙傛暟閰嶇疆
+        depotConfService.flushConfCache(companyId);
+
+        //璁剧疆鍒嗘満鍏ㄩ儴鎺夌嚎
+        deviceSerService.allOffLine(companyId);
+
+        //鍒锋柊鍒嗘満鍒扮紦瀛�
+        deviceSerService.refreshCache(companyId);
+
+        secCameraService.refreshCache(companyId);
+
+        log.info("* ");
+        log.info("* ========================");
+        log.info("* ");
+        log.info("* 缁勭粐={}锛寋}鍒濆鍖栫紦瀛樺畬鎴愨�︹�︹�︹��", companyId, name);
+        log.info("* ");
+        log.info("* ========================");
+        log.info("* ");
+    }
+
+
+}

--
Gitblit v1.9.3