From 89f9b7d46346da4f9263d27f6ce20032b9458bd5 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 25 八月 2023 11:10:56 +0800
Subject: [PATCH] 元数据管理添加空间过滤条件

---
 src/main/java/com/moon/server/service/data/MetaService.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/moon/server/service/data/MetaService.java b/src/main/java/com/moon/server/service/data/MetaService.java
index bf25963..0a81ed8 100644
--- a/src/main/java/com/moon/server/service/data/MetaService.java
+++ b/src/main/java/com/moon/server/service/data/MetaService.java
@@ -48,21 +48,21 @@
     private final static Log log = LogFactory.getLog(MetaService.class);
 
     @Override
-    public Integer selectCount(String depcode, String dircode, Integer verid, String name) {
+    public Integer selectCount(String depcode, String dircode, Integer verid, String name, String wkt) {
         depcode = StringHelper.getRightLike(depcode);
         dircode = StringHelper.getRightLike(dircode);
         name = StringHelper.getLikeUpperStr(name);
 
-        return metaMapper.selectCount(depcode, dircode, verid, name);
+        return metaMapper.selectCount(depcode, dircode, verid, name, wkt);
     }
 
     @Override
-    public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer limit, Integer offset) {
+    public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, String wkt, Integer limit, Integer offset) {
         depcode = StringHelper.getRightLike(depcode);
         dircode = StringHelper.getRightLike(dircode);
         name = StringHelper.getLikeUpperStr(name);
 
-        return metaMapper.selectByPage(depcode, dircode, verid, name, limit, offset);
+        return metaMapper.selectByPage(depcode, dircode, verid, name, wkt, limit, offset);
     }
 
     @Override
@@ -642,4 +642,17 @@
 
         metaDownService.inserts(list);
     }
+
+    /**
+     * 鑾峰彇绌洪棿杩囨护
+     */
+    public String getGeometryFilter(String wkt) throws Exception {
+        if (StringHelper.isEmpty(wkt)) {
+            return null;
+        }
+
+        wkt = AesHelper.decrypt(wkt);
+
+        return String.format("ST_Intersects(ST_GeomFromText('%s', %d), geom)", wkt, StaticData.I104903);
+    }
 }

--
Gitblit v1.9.3