From 7a525a0d577642cc6b89dcfd93e58ffc44a09c6b Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 10 九月 2023 11:31:57 +0800
Subject: [PATCH] 添加自动创建图层功能

---
 src/main/java/com/moon/server/service/data/ShuJianService.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/moon/server/service/data/ShuJianService.java b/src/main/java/com/moon/server/service/data/ShuJianService.java
index 000489c..e56fec5 100644
--- a/src/main/java/com/moon/server/service/data/ShuJianService.java
+++ b/src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -7,10 +7,12 @@
 import com.moon.server.entity.data.MetaPubEntity;
 import com.moon.server.entity.data.PublishEntity;
 import com.moon.server.entity.shujian.*;
+import com.moon.server.entity.sys.LayerEntity;
 import com.moon.server.entity.sys.ResEntity;
 import com.moon.server.helper.HttpHelper;
 import com.moon.server.helper.RestHelper;
 import com.moon.server.helper.StringHelper;
+import com.moon.server.service.sys.LayerService;
 import com.moon.server.service.sys.ResService;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -51,6 +53,9 @@
 
     @Resource
     PublishService publishService;
+
+    @Resource
+    LayerService layerService;
 
     private final static Log log = LogFactory.getLog(ShuJianService.class);
 
@@ -117,7 +122,10 @@
         ResEntity resEntity = createResEntity(publishEntity);
         resService.insert(resEntity);
 
-        return insertMetaPub(pub, publishEntity.getId());
+        insertMetaPub(pub, publishEntity.getId());
+        layerService.insert(createLayerEntity(resEntity, StaticData.I3));
+
+        return rows;
     }
 
     /**
@@ -308,6 +316,39 @@
     }
 
     /**
+     * 鍒涘缓鍥惧眰
+     */
+    private LayerEntity createLayerEntity(ResEntity resEntity, Integer category) {
+        Integer pid = layerService.selectIdByName(StaticData.I1 == resEntity.getData() ? "DOM" : "DEM");
+        Integer orderNum = layerService.selectMaxOrderNumByPid(pid);
+        LayerEntity layer = layerService.selectById(pid);
+
+        LayerEntity entity = new LayerEntity();
+        entity.setPid(pid);
+        entity.setCnName(resEntity.getCnName());
+        entity.setEnName(resEntity.getEnName());
+        entity.setUrl(resEntity.getProxy());
+        // 鏄惁涓哄浘灞傦細0-鍥惧眰缁�,1-鍥惧眰
+        entity.setIsLayer(1);
+        entity.setLevel(null == layer ? 1 : layer.getLevel() + 1);
+        entity.setOrderNum(orderNum);
+        // 鐘舵�侊細0-鍋滄锛�1-鍚敤
+        entity.setStatus(1);
+        entity.setCreateUser(resEntity.getCreateUser());
+        entity.setResid(resEntity.getId());
+        // 绫诲埆锛�0-URL锛�1-TMS锛�2-WMTS锛�3-WMS锛�4-WFS锛�5-Tileset
+        entity.setType(StaticData.I1 == resEntity.getData() ? 2 : 0);
+        // 鏁版嵁绫诲瀷锛�0-URL锛�1-DOM锛�2-DEM
+        entity.setData(resEntity.getData());
+        // 鏈嶅姟绫诲埆锛�0-鍏朵粬锛�1-GisServer锛�2-GeoServer锛�3-鏁扮畝
+        entity.setCategory(category);
+        // 鏄�/鍚﹂粯璁ゆ樉绀�
+        entity.setIsShow(0);
+
+        return entity;
+    }
+
+    /**
      * 鑾峰彇棰滆壊琛ㄧ被鍨�
      */
     private String getColorTableType(PubEntity pub) {
@@ -398,13 +439,22 @@
         ResEntity resEntity = resService.selectByPubid(entity.getId());
         if (null == resEntity) {
             resEntity = createResEntity(entity);
-            return resService.insert(resEntity);
+            resService.insert(resEntity);
         } else {
             resEntity.setUpdateUser(pub.getUserId());
             resEntity.setCnName(entity.getName());
             resEntity.setUrl(entity.getUrl());
-            return resService.update(resEntity);
+            resService.update(resEntity);
         }
+
+        LayerEntity lyrEntity = layerService.selectByResId(resEntity.getId());
+        if (null != lyrEntity) {
+            lyrEntity.setCnName(resEntity.getCnName());
+            lyrEntity.setUpdateUser(pub.getUserId());
+            layerService.update(lyrEntity);
+        }
+
+        return entity.getId();
     }
 
     /**

--
Gitblit v1.9.3