Browse Source

提交spotoverlap微服务模块代码(GeoServer服务删除相关功能接口)

wanger 8 tháng trước cách đây
mục cha
commit
171b5f480b

+ 38 - 8
onemap-modules/onemap-spotoverlap/src/main/java/com/onemap/spotoverlap/service/impl/yzt/YztServiceImpl.java

@@ -543,11 +543,26 @@ public class YztServiceImpl implements IYztService {
     @Override
     public RequestResult basevectordelete(String tablename) {
         try {
-            //TODO wanger 删除主表
-            String deleteSQL = "delete from t_base_vector where tablename = '" + tablename + "'";
-            yztMapper.executeSQL(deleteSQL);
+            //TODO 删除GeoServer服务
+            QueryWrapper<tBaseVector> wrapper = new QueryWrapper();
+            wrapper.eq("tablename", tablename);
+            tBaseVector vector = tBaseVectorMapper.selectOne(wrapper);
+            if (vector != null && StringUtils.isNotEmpty(vector.getServicename())) {
+                String datasource = vector.getServicename().split(":")[1];
+                tGeoserver geoserverconfig = tGeoServerMapper.selectOne(null);
+                String geoserverurl = geoserverconfig.getUri();
+                String geoserverusername = geoserverconfig.getUsername();
+                String geoserverpassword = geoserverconfig.getPassword();
+                String geoserverworkspace = geoserverconfig.getWorkspace();
+                try {
+                    GeoServer.delete_datasource(geoserverurl, geoserverusername, geoserverpassword, geoserverworkspace, datasource);
+                } catch (Exception e) {
+                    System.out.println("删除geoserver数据存储失败,可能不存在!");
+                }
+                tBaseVectorMapper.delete(wrapper);
+            }
             //TODO wanger 删除模型分析因子项
-            deleteSQL = "delete from t_model where layername = (select layername from t_base_vector where tablename = '" + tablename + "')";
+            String deleteSQL = "delete from t_model where layername = (select layername from t_base_vector where tablename = '" + tablename + "')";
             yztMapper.executeSQL(deleteSQL);
             //TODO wanger 删除矢量表
             deleteSQL = "drop table " + tablename + "";
@@ -562,11 +577,26 @@ public class YztServiceImpl implements IYztService {
     @Override
     public RequestResult analysevectordelete(String tablename) {
         try {
-            //TODO wanger 删除主表
-            String deleteSQL = "delete from t_analyse_vector where tablename = '" + tablename + "'";
-            yztMapper.executeSQL(deleteSQL);
+            //TODO 删除GeoServer服务
+            QueryWrapper<tAnalyseVector> wrapper = new QueryWrapper();
+            wrapper.eq("tablename", tablename);
+            tAnalyseVector vector = tAnalyseVectorMapper.selectOne(wrapper);
+            if (vector != null && StringUtils.isNotEmpty(vector.getServicename())) {
+                String datasource = vector.getServicename().split(":")[1];
+                tGeoserver geoserverconfig = tGeoServerMapper.selectOne(null);
+                String geoserverurl = geoserverconfig.getUri();
+                String geoserverusername = geoserverconfig.getUsername();
+                String geoserverpassword = geoserverconfig.getPassword();
+                String geoserverworkspace = geoserverconfig.getWorkspace();
+                try {
+                    GeoServer.delete_datasource(geoserverurl, geoserverusername, geoserverpassword, geoserverworkspace, datasource);
+                } catch (Exception e) {
+                    System.out.println("删除geoserver数据存储失败,可能不存在!");
+                }
+                tAnalyseVectorMapper.delete(wrapper);
+            }
             //TODO wanger 删除矢量表
-            deleteSQL = "drop table " + tablename + "";
+            String deleteSQL = "drop table " + tablename + "";
             yztMapper.executeSQL(deleteSQL);
             return RequestResult.success("删除成功!", 1);
         } catch (Exception e) {