From 61b0eefa5a1b6ff7d8b24b458b0c01e79fd21113 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 05 九月 2023 14:06:16 +0800
Subject: [PATCH] 添加服务地址设置等

---
 src/main/java/com/moon/server/service/data/ShuJianService.java |   69 ++++++++++++++++++++++++++++++----
 1 files changed, 61 insertions(+), 8 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 44e17d7..e75ac26 100644
--- a/src/main/java/com/moon/server/service/data/ShuJianService.java
+++ b/src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -11,6 +11,7 @@
 import com.moon.server.helper.PathHelper;
 import com.moon.server.helper.RestHelper;
 import com.moon.server.helper.StringHelper;
+import com.moon.server.service.sys.ResService;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Value;
@@ -41,6 +42,9 @@
     PathHelper pathHelper;
 
     @Resource
+    ResService resService;
+
+    @Resource
     MetaService metaService;
 
     @Resource
@@ -50,12 +54,18 @@
 
     public final static List<String> TYPES = new ArrayList<>(Arrays.asList("DOM", "DEM"));
 
+    private final static String DOM_FORMAT = "%s/sj_raster/v6/wmts/service/system/%d/%s";
+
+    private final static String DEM_FORMAT = "%s/sj_raster/v6/terrain_mesh/service/system/%d/%s";
+
+    private final static String COLOR_TABLE = "%s/sj_raster/v6/api/color_table?%s&page_count=%d&page_num=%d&key=";
+
     /**
      * 鍒嗛〉鏌ヨ鏁扮畝鐨勯鑹茶〃
      */
     public void selectSjColorTables(Integer pageSize, Integer pageIndex, HttpServletRequest req, HttpServletResponse res) {
         try {
-            String url = String.format("%s/sj_raster/v6/api/color_table?%s&page_count=%d&page_num=%d&key=", sjUrl, ak, pageSize, pageIndex);
+            String url = String.format(COLOR_TABLE, sjUrl, ak, pageSize, pageIndex);
 
             HttpHelper httpHelper = new HttpHelper();
             httpHelper.service(req, res, null, url);
@@ -123,11 +133,11 @@
      * 鑾峰彇EPSG缂栫爜
      */
     public String getEpsg(PubEntity pub) {
-        if (StaticData.I104903 == pub.getEpsgCode()) {
-            return "ESRI:" + pub.getEpsgCode();
+        if (StaticData.I104903 == pub.getEpsg()) {
+            return "ESRI:" + pub.getEpsg();
         }
 
-        return "EPSG:" + pub.getEpsgCode();
+        return "EPSG:" + pub.getEpsg();
     }
 
     /**
@@ -180,7 +190,7 @@
 
         CreateServiceEntity.Services services = entity.getService();
         services.setName(pub.getName());
-        services.setAccess_name(StringHelper.getGuid());
+        services.setAccess_name(pub.getUuid());
         services.setPub_status(1);
         services.setRect_minx(-180.0);
         services.setRect_miny(-90.0);
@@ -217,14 +227,16 @@
         entity.setName(pub.getName());
         entity.setMin(pub.getMin());
         entity.setMax(pub.getMax());
-        entity.setEpsg(pub.getEpsgCode());
+        entity.setEpsg(pub.getEpsg());
         entity.setCreateUser(pub.getUserId());
         entity.setDirid(pub.getDircode());
         entity.setDepid(pub.getDepcode());
         entity.setStatus(3);
         entity.setLayerid(layerId);
         entity.setServiceid(serviceId);
+        entity.setEventid(pub.getUuid());
         entity.setJson(getColorTableJson(pub));
+        entity.setUrl(String.format(TYPES.get(0).equals(pub.getType()) ? DOM_FORMAT : DEM_FORMAT, sjUrl, serviceId, StaticData.I0));
 
         return entity;
     }
@@ -264,7 +276,7 @@
     /**
      * 鎻掑叆鏁扮畝鏈嶅姟
      */
-    public Integer updateSjService(PubEntity pub, HttpServletRequest req, HttpServletResponse res) {
+    public Integer updateSjService(PubEntity pub) {
         PublishEntity entity = publishService.selectById(pub.getPubid());
         if (null == entity) {
             return 0;
@@ -275,8 +287,49 @@
         if (null != entity.getServiceid()) {
             deleteService(entity.getServiceid());
         }
+        setPubEntity(pub, entity);
 
-        return 1;
+        CreateLayerEntity layerEntity = createLayerEntity(pub);
+        Integer layerId = postLayerEntity(layerEntity);
+        if (null == layerId) {
+            return 0;
+        }
+
+        CreateServiceEntity serviceEntity = createServiceEntity(pub, layerId);
+        Integer serviceId = postServiceEntity(serviceEntity);
+        if (null == serviceId) {
+            return 0;
+        }
+
+        entity.setLayerid(layerId);
+        entity.setServiceid(serviceId);
+        entity.setUpdateUser(pub.getUserId());
+        if (StringHelper.isEmpty(entity.getGeom())) {
+            entity.setGeom(StaticData.NULL);
+        }
+
+        return publishService.update(entity);
+    }
+
+    /**
+     * 璁剧疆鍙戝竷瀹炰綋绫�
+     */
+    private void setPubEntity(PubEntity pub, PublishEntity entity) {
+        List<MetaEntity> metas = publishService.selectMetasByPubid(pub.getPubid());
+
+        List<Integer> ids = new ArrayList<>();
+        for (MetaEntity meta : metas) {
+            ids.add(meta.getId());
+        }
+        pub.setIds(ids);
+
+        if (StringHelper.isEmpty(pub.getName())) {
+            pub.setName(entity.getName());
+        }
+        if (null == pub.getEpsg() || 0 == pub.getEpsg()) {
+            pub.setEpsg(entity.getEpsg());
+        }
+
     }
 
     /**

--
Gitblit v1.9.3