From b27c72d3a671dc00bc5a1683ea309fb2a661dea3 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 05 九月 2023 16:41:05 +0800
Subject: [PATCH] 添加自动创建资源、自动更新资源功能

---
 src/main/java/com/moon/server/service/data/ShuJianService.java |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 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 e75ac26..9c2024a 100644
--- a/src/main/java/com/moon/server/service/data/ShuJianService.java
+++ b/src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -7,6 +7,7 @@
 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.ResEntity;
 import com.moon.server.helper.HttpHelper;
 import com.moon.server.helper.PathHelper;
 import com.moon.server.helper.RestHelper;
@@ -95,6 +96,10 @@
         if (null == id) {
             return id;
         }
+
+        publishEntity.setId(id);
+        ResEntity resEntity = createResEntity(publishEntity);
+        resService.insert(resEntity);
 
         return insertMetaPub(pub, id);
     }
@@ -242,6 +247,31 @@
     }
 
     /**
+     * 鍒涘缓璧勬簮瀹炰綋绫�
+     */
+    private ResEntity createResEntity(PublishEntity pub) {
+        ResEntity entity = new ResEntity();
+        entity.setCnName(pub.getName());
+        // 鐘舵�侊細0-绂佺敤锛�1-鍚敤鍘熷鍦板潃锛�2-鍚敤浠g悊鍦板潃
+        entity.setStatus(2);
+        // 鏈嶅姟绫诲埆锛�0-鍏朵粬锛�1-GisServer锛�2-GeoServer锛�3-鏁扮畝
+        entity.setCategory(3);
+        // 鏈嶅姟绫诲瀷锛�0-URL锛�1-TMS锛�2-WMTS锛�3-WMS锛�4-WFS锛�5-Tileset
+        entity.setType(StaticData.DOM.equals(pub.getType()) ? 2 : 0);
+        // 鏁版嵁绫诲瀷锛�0-URL锛�1-DOM锛�2-DEM
+        entity.setData(StaticData.DOM.equals(pub.getType()) ? 1 : 2);
+        entity.setUrl(pub.getUrl());
+        entity.setArgs(ak);
+        entity.setDescr("绯荤粺鑷姩鍒涘缓");
+        entity.setDepid(pub.getDepid());
+        entity.setDirid(pub.getDirid());
+        entity.setCreateUser(pub.getCreateUser());
+        entity.setPubid(pub.getId());
+
+        return entity;
+    }
+
+    /**
      * 鑾峰彇棰滆壊琛ㄧ殑JSON瀛楃涓�
      */
     public String getColorTableJson(PubEntity pub) {
@@ -308,7 +338,20 @@
             entity.setGeom(StaticData.NULL);
         }
 
-        return publishService.update(entity);
+        int rows = publishService.update(entity);
+        if (0 == rows) {
+            return 0;
+        }
+
+        ResEntity resEntity = resService.selectByPubid(entity.getId());
+        if (null == resEntity) {
+            resEntity = createResEntity(entity);
+            return resService.insert(resEntity);
+        } else {
+            resEntity.setCnName(entity.getName());
+            resEntity.setUrl(entity.getUrl());
+            return resService.update(resEntity);
+        }
     }
 
     /**

--
Gitblit v1.9.3