From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 02 七月 2025 16:43:13 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service

---
 src/main/java/com/lf/server/controller/data/upload/CheckController.java |  248 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 218 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/upload/CheckController.java b/src/main/java/com/lf/server/controller/data/upload/CheckController.java
index 298321d..ae92877 100644
--- a/src/main/java/com/lf/server/controller/data/upload/CheckController.java
+++ b/src/main/java/com/lf/server/controller/data/upload/CheckController.java
@@ -2,6 +2,12 @@
 
 import com.lf.server.annotation.SysLog;
 import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.all.StaticData;
+import com.lf.server.entity.ctrl.FmeReqEntity;
+import com.lf.server.entity.ctrl.RegisterEntity;
+import com.lf.server.helper.HttpHelper;
+import com.lf.server.helper.PathHelper;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.service.data.FmeService;
 import io.swagger.annotations.ApiImplicitParam;
@@ -9,15 +15,25 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 妫�鏌ユ帶鍒跺櫒
  * @author WWW
  */
 public class CheckController extends BaseController {
+    @Autowired
+    protected PathHelper pathHelper;
+
     @Autowired
     protected FmeService fmeService;
 
@@ -33,16 +49,14 @@
                 return fail("id涓嶈兘涓虹┖");
             }
 
-            Object obj = fmeService.getTaskStatus(id, req);
-
-            return obj;
+            return fmeService.getTaskStatus(id, req);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
     @SysLog()
-    @ApiOperation(value = "涓嬭浇璐ㄦ閿欒缁撴灉")
+    @ApiOperation(value = "涓嬭浇璐ㄦ缁撴灉")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "浠诲姟ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4")
     })
@@ -51,11 +65,105 @@
         try {
             if (!StringHelper.isEmpty(id)) {
                 String url = fmeService.getDownloadUrl(id, req);
-                res.sendRedirect(url);
+
+                HttpHelper httpHelper = new HttpHelper();
+                // res.sendRedirect(url)
+                httpHelper.service(req, res, url, null);
             }
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
         }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鎻愪氦鏁版嵁璐ㄦ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "entity", value = "FME璇锋眰瀹炰綋绫�", dataType = "FmeReqEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/uploadChecks")
+    public ResponseMsg<Object> uploadChecks(@RequestBody FmeReqEntity entity, HttpServletRequest req) {
+        try {
+            if (StringHelper.isEmpty(entity.names)) {
+                return fail("浠诲姟鍚嶇О涓嶈兘涓虹┖");
+            }
+            if (StringHelper.isEmpty(entity.zipPath)) {
+                return fail("璇烽�夋嫨寰呰川妫�鐨剒ip鏂囦欢");
+            }
+
+            entity.zipPath = getFullPath(entity.zipPath);
+            if (!isZipFile(entity.zipPath)) {
+                return fail("寰呰川妫�鐨剒ip鏂囦欢涓嶅瓨鍦�");
+            }
+            if (entity.names.contains(StaticData.CHECK_MAIN)) {
+                entity.wbsPath = getFullPath(entity.wbsPath);
+                if (!isXlsFile(entity.wbsPath)) {
+                    return fail("寰呰川妫�鐨刉BS鏂囦欢涓嶅瓨鍦�");
+                }
+            }
+
+            List<String> list = new ArrayList<>();
+            for (String name : entity.names.split(StaticData.COMMA)) {
+                String guid = invoke(name, entity, req);
+                list.add(guid);
+            }
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
+
+    /**
+     * 鑾峰彇鏂囦欢璺緞
+     */
+    private String getFullPath(String filePath) {
+        return null == filePath ? null : pathHelper.getConfig().getTempPath() + File.separator + filePath;
+    }
+
+    /**
+     * 鏄�/鍚︿负Zip鏂囦欢
+     */
+    private boolean isZipFile(String filePath) {
+        if (null == filePath || !filePath.toLowerCase().endsWith(StaticData.ZIP)) {
+            return false;
+        }
+
+        File zipFile = new File(filePath);
+
+        return zipFile.exists() && !zipFile.isDirectory();
+    }
+
+    /**
+     * 鏄�/鍚︿负Excel鏂囦欢
+     */
+    private boolean isXlsFile(String filePath) {
+        if (null == filePath) {
+            return false;
+        }
+        if (!(filePath.toLowerCase().endsWith(StaticData.XLS) || filePath.toLowerCase().endsWith(StaticData.XLSX))) {
+            return false;
+        }
+
+        File zipFile = new File(filePath);
+
+        return zipFile.exists() && !zipFile.isDirectory();
+    }
+
+    /**
+     * 鏂规硶璋冪敤
+     */
+    private String invoke(String name, FmeReqEntity entity, HttpServletRequest req) throws Exception {
+        Method method;
+        try {
+            method = FmeService.class.getDeclaredMethod(name, FmeReqEntity.class, HttpServletRequest.class);
+        } catch (Exception ex) {
+            throw new Exception(name + "锛岃妫�鏌ユ柟娉曚笉瀛樺湪");
+        }
+
+        Object obj = method.invoke(fmeService, entity, req);
+
+        return null == obj ? null : obj.toString();
     }
 
     /*@SysLog()
@@ -64,7 +172,6 @@
     public ResponseMsg<Object> selectCheckOsgb(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\OSGB妫�鏌�.zip";
             fme.imgResolution = 0.2;
@@ -76,7 +183,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -86,7 +193,6 @@
     public ResponseMsg<Object> selectCheckXls(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.sjzy = "娴嬮噺涓撲笟";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\琛ㄦ牸鏁版嵁妫�鏌�.zip";
@@ -98,7 +204,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -108,7 +214,6 @@
     public ResponseMsg<Object> selectCheckLaz(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鐐逛簯妫�鏌�.zip";
             fme.lazDensity = 1;
@@ -120,7 +225,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -130,7 +235,6 @@
     public ResponseMsg<Object> selectCheckDem(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\楂樼▼妫�鏌�.zip";
             fme.demTolerance = 5;
@@ -143,7 +247,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -153,7 +257,6 @@
     public ResponseMsg<Object> selectCheckAttrs(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.sjzy = "娴嬮噺涓撲笟";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\灞炴�ф鏌�.zip";
@@ -165,7 +268,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -175,7 +278,6 @@
     public ResponseMsg<Object> selectCheckTopology(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鎷撴墤妫�鏌�.zip";
             fme.polyTolerance = 0.001;
@@ -193,7 +295,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -203,7 +305,6 @@
     public ResponseMsg<Object> selectCheckDecorate(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鍥鹃潰鏁撮グ妫�鏌�.zip";
             fme.xlsList = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鏂囦欢娓呭崟.xlsx";
@@ -215,7 +316,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -225,7 +326,6 @@
     public ResponseMsg<Object> selectCheckOrigin(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鍘熺偣妫�鏌�.zip";
 
@@ -236,7 +336,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -246,7 +346,6 @@
     public ResponseMsg<Object> selectCheckDom(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.sjzy = "娴嬮噺涓撲笟";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鏍呮牸妫�鏌�.zip";
@@ -260,7 +359,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -270,7 +369,6 @@
     public ResponseMsg<Object> selectCheckMath(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.sjzy = "娴嬮噺涓撲笟";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鏁板鍩虹妫�鏌�.zip";
@@ -282,7 +380,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -292,7 +390,6 @@
     public ResponseMsg<Object> selectCheckMeta(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.sjzy = "娴嬮噺涓撲笟";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鍏冩暟鎹鏌�.zip";
@@ -304,7 +401,7 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -314,7 +411,6 @@
     public ResponseMsg<Object> selectCheckMain(HttpServletRequest req) {
         try {
             FmeReqEntity fme = new FmeReqEntity();
-            fme.name = StringHelper.getGuid();
             fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
             fme.sjzy = "娴嬮噺涓撲笟";
             fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�.7z";
@@ -329,7 +425,99 @@
 
             return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "閫昏緫涓�鑷存�ф鏌�")
+    @GetMapping(value = "/checkLogical")
+    public ResponseMsg<Object> checkLogical(HttpServletRequest req) {
+        try {
+            FmeReqEntity fme = new FmeReqEntity();
+            fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
+            fme.sjzy = "娴嬮噺涓撲笟";
+            fme.zipPath = "D:\\LF\\temp\\20230411\\鏁板瓧鍖栨垚鏋�.zip";
+
+            String rs = fmeService.checkLogical(fme, req);
+            if (StringHelper.isEmpty(rs)) {
+                return fail("妫�鏌ュけ璐�");
+            }
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍗曢」鎴愭灉瀹屾暣鎬ф鏌�")
+    @GetMapping(value = "/checkSingleIntegrity")
+    public ResponseMsg<Object> checkSingleIntegrity(HttpServletRequest req) {
+        try {
+            FmeReqEntity fme = new FmeReqEntity();
+            fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�";
+            fme.sjzy = "娴嬮噺涓撲笟";
+            fme.sjfl = "鏁板瓧鍖栨垚鏋�";
+            fme.zipPath = "D:\\LF\\temp\\20230411\\鏁板瓧鍖栨垚鏋�.zip";
+
+            String rs = fmeService.checkSingleIntegrity(fme, req);
+            if (StringHelper.isEmpty(rs)) {
+                return fail("妫�鏌ュけ璐�");
+            }
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex, null);
         }
     }*/
+
+    @SysLog()
+    @ApiOperation(value = "鏈嶅姟娉ㄥ唽")
+    @GetMapping(value = "/selectServerRegister")
+    public ResponseMsg<Object> selectServerRegister(HttpServletRequest req) {
+        try {
+            RegisterEntity rs = fmeService.serverRegister("瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116DT02锛�", "http://127.0.0.1/LFData/2d/tiles/01/{z}/{x}/{y}.png", "DOM", req);
+            if (null == rs || StringHelper.isEmpty(rs.getSerialnum())) {
+                return fail("澶辫触");
+            }
+
+            return success(rs);
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鏈嶅姟鐢宠")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "鏈嶅姟ID", dataType = "String", paramType = "query", example = "195f77eb-19dd-4e34-afc1-fcff8f758f7b"),
+            @ApiImplicitParam(name = "pubid", value = "鍙戝竷ID", dataType = "Integer", paramType = "query", example = "1"),
+    })
+    @GetMapping(value = "/selectServerApply")
+    public ResponseMsg<Object> selectServerApply(String id, Integer pubid, HttpServletRequest req) {
+        try {
+            fmeService.serverApply(id, pubid, req);
+
+            return success("OK");
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
+
+    @SysLog()
+    @ApiOperation(value = "鍒犻櫎璧勬簮")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "鏈嶅姟ID", dataType = "String", paramType = "query", example = "6f4b6783-4b98-4d46-a0d9-43cdb5f339dc")
+    })
+    @GetMapping(value = "/selectDeleteRes")
+    public ResponseMsg<Object> selectDeleteRes(String id, HttpServletRequest req) {
+        try {
+            fmeService.deleteRes(id, req);
+
+            return success("OK");
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
 }

--
Gitblit v1.9.3