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 | 312 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 291 insertions(+), 21 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 04a0426..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 @@ -3,14 +3,28 @@ 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; +import io.swagger.annotations.ApiImplicitParams; 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; /** * 妫�鏌ユ帶鍒跺櫒 @@ -18,7 +32,181 @@ */ public class CheckController extends BaseController { @Autowired + protected PathHelper pathHelper; + + @Autowired protected FmeService fmeService; + + @SysLog() + @ApiOperation(value = "鏌ヨ浠诲姟鐘舵��") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "浠诲姟ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") + }) + @GetMapping(value = "/selectTaskStatus") + public Object selectTaskStatus(String id, HttpServletRequest req) { + try { + if (StringHelper.isEmpty(id)) { + return fail("id涓嶈兘涓虹┖"); + } + + return fmeService.getTaskStatus(id, req); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇璐ㄦ缁撴灉") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "浠诲姟ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") + }) + @GetMapping(value = "/downloadResult") + public void downloadResult(String id, HttpServletRequest req, HttpServletResponse res) { + try { + if (!StringHelper.isEmpty(id)) { + String url = fmeService.getDownloadUrl(id, req); + + 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() + @ApiOperation(value = "鏌ヨOSGB妫�鏌�") + @GetMapping(value = "/selectCheckOsgb") + public ResponseMsg<Object> selectCheckOsgb(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\OSGB妫�鏌�.zip"; + fme.imgResolution = 0.2; + + String rs = fmeService.checkOsgb(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ琛ㄦ牸鏁版嵁妫�鏌�") + @GetMapping(value = "/selectCheckXls") + public ResponseMsg<Object> selectCheckXls(HttpServletRequest req) { + try { + FmeReqEntity fme = new FmeReqEntity(); + fme.xmmc = "瑗挎皵涓滆緭鍥涚嚎澶╃劧姘旂閬撳伐绋嬶紙鍚愰瞾鐣�-涓崼锛夛紙00116BT02锛�"; + fme.sjzy = "娴嬮噺涓撲笟"; + fme.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\琛ㄦ牸鏁版嵁妫�鏌�.zip"; + + String rs = fmeService.checkXls(fme, req); + if (StringHelper.isEmpty(rs)) { + return fail("妫�鏌ュけ璐�"); + } + + return success(rs); + } catch (Exception ex) { + return fail(ex, null); + } + } @SysLog() @ApiOperation(value = "鏌ヨ鐐逛簯妫�鏌�") @@ -26,9 +214,8 @@ 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.zipPath = "D:\\Project\\Data\\LF\\temp\\20230107010101\\鐐逛簯妫�鏌�.zip"; fme.lazDensity = 1; String rs = fmeService.checkLaz(fme, req); @@ -38,7 +225,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -48,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; @@ -61,7 +247,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -71,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"; @@ -83,7 +268,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -93,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; @@ -111,7 +295,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -121,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"; @@ -133,7 +316,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -143,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"; @@ -154,7 +336,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -164,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"; @@ -178,7 +359,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -188,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"; @@ -200,7 +380,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -210,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"; @@ -222,7 +401,7 @@ return success(rs); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @@ -232,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"; @@ -247,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