From 7d536d24aa867e9dd4304db39f267373679a6480 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 13 三月 2024 10:54:18 +0800
Subject: [PATCH] 解决定时器启动计算数据时报错

---
 src/main/java/com/lf/server/controller/show/OneMapController.java |   14 ++++++++++++++
 src/main/java/com/lf/server/service/data/FmeService.java          |    4 ++--
 src/main/java/com/lf/server/config/ScheduleConfig.java            |   10 ++++++++++
 src/main/java/com/lf/server/service/show/OneMapService.java       |   32 +++++++++++++++++---------------
 4 files changed, 43 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/lf/server/config/ScheduleConfig.java b/src/main/java/com/lf/server/config/ScheduleConfig.java
index 5bf3fad..e1e615a 100644
--- a/src/main/java/com/lf/server/config/ScheduleConfig.java
+++ b/src/main/java/com/lf/server/config/ScheduleConfig.java
@@ -6,9 +6,11 @@
 import com.lf.server.service.all.ScheduleService;
 import com.lf.server.service.all.WebSocketService;
 import com.lf.server.service.show.AutoQueryService;
+import com.lf.server.service.show.OneMapService;
 import com.lf.server.service.sys.AttachService;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.ibatis.annotations.Result;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -32,6 +34,9 @@
     @Resource
     AutoQueryService autoQueryService;
 
+    @Resource
+    OneMapService oneMapService;
+
     private static boolean isBusy = false;
 
     private static final Log log = LogFactory.getLog(ScheduleConfig.class);
@@ -41,6 +46,11 @@
         autoQueryService.autoQuery();
     }
 
+    @Scheduled(cron = "0 0 2 * * ?")
+    public void calcData() {
+        oneMapService.calcData();
+    }
+
     @Scheduled(fixedRate = 15 * 1000)
     public void pushMonitorInfo() {
         try {
diff --git a/src/main/java/com/lf/server/controller/show/OneMapController.java b/src/main/java/com/lf/server/controller/show/OneMapController.java
index afd71f3..a7ad681 100644
--- a/src/main/java/com/lf/server/controller/show/OneMapController.java
+++ b/src/main/java/com/lf/server/controller/show/OneMapController.java
@@ -403,4 +403,18 @@
             return fail(ex.getMessage());
         }
     }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ヨ璁$畻鏁版嵁")
+    @GetMapping("/selectCalcData")
+    public ResponseMsg<Object> selectCalcData(){
+        try {
+            String rs = oneMapService.calcData();
+
+            return success(rs);
+        }catch (Exception ex){
+            log.error(ex.getMessage(), ex);
+            return fail(ex.getMessage());
+        }
+    }
 }
diff --git a/src/main/java/com/lf/server/service/data/FmeService.java b/src/main/java/com/lf/server/service/data/FmeService.java
index 4af356a..3376889 100644
--- a/src/main/java/com/lf/server/service/data/FmeService.java
+++ b/src/main/java/com/lf/server/service/data/FmeService.java
@@ -322,8 +322,8 @@
     /**
      * f.璁$畻闈㈢Н
      */
-    public String calcArea(String sjfl, String id, String wjlj, HttpServletRequest req) {
-        String url = getUrl("datax/task/run/鏁版嵁鍗犲湴闈㈢Н璁$畻", req);
+    public String calcArea(String sjfl, String id, String wjlj) {
+        String url = getUrl("datax/task/run/鏁版嵁鍗犲湴闈㈢Н璁$畻");
 
         List<NameValueEntity> list = new ArrayList<>();
         list.add(new NameValueEntity("_name", String.format("%s_%s", "鏁版嵁鍗犲湴闈㈢Н璁$畻", StringHelper.YMDHMS2_FORMAT.format(new Date()))));
diff --git a/src/main/java/com/lf/server/service/show/OneMapService.java b/src/main/java/com/lf/server/service/show/OneMapService.java
index f1e7a6e..5beb4bd 100644
--- a/src/main/java/com/lf/server/service/show/OneMapService.java
+++ b/src/main/java/com/lf/server/service/show/OneMapService.java
@@ -418,26 +418,28 @@
      */
     public String calcData() {
         Integer rows = selectLineBuffer();
-
         List<Map<String, Object>> list = selectMetaByType();
         if (null != list && list.size() > 0) {
-            HttpServletRequest req = WebHelper.getRequest();
-            String rootPath = pathHelper.getUploadFullPath();
-            for (Map<String, Object> map : list) {
-                String sjfl = map.get("type").toString();
-                String id = map.get("id").toString();
-                String wjlj = rootPath + File.separator + map.get("path").toString();
+            try {
+                String rootPath = pathHelper.getConfig().getUploadPath();
+                for (Map<String, Object> map : list) {
+                    String sjfl = map.get("type").toString();
+                    String id = map.get("id").toString();
+                    String wjlj = rootPath + File.separator + map.get("path").toString();
 
-                File file = new File(wjlj);
-                if (!file.exists() || file.isDirectory()) {
-                    continue;
-                }
+                    File file = new File(wjlj);
+                    if (!file.exists() || file.isDirectory()) {
+                        continue;
+                    }
 
-                String str = fmeService.calcArea(sjfl, id, wjlj, req);
-                if (null != str) {
-                    System.out.println(str);
+                    String str = fmeService.calcArea(sjfl, id, wjlj);
+                    if (null != str) {
+                        System.out.println(str);
+                    }
+                    rows++;
                 }
-                rows++;
+            } catch (Exception ex) {
+                log.error(ex.getMessage(), ex);
             }
         }
 

--
Gitblit v1.9.3