From d950bfac44ca8dcdfe91de52fde0fe86e0829753 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 03 九月 2023 12:03:02 +0800
Subject: [PATCH] 发布表添加新的字段

---
 src/main/java/com/moon/server/entity/data/PublishEntity.java         |  116 +++++++++++++++++++---------
 src/main/java/com/moon/server/service/data/ShuJianService.java       |   68 ++++++++++++++--
 src/main/java/com/moon/server/controller/data/PublishController.java |    2 
 src/main/resources/mapper/data/PublishMapper.xml                     |   14 +--
 4 files changed, 142 insertions(+), 58 deletions(-)

diff --git a/src/main/java/com/moon/server/controller/data/PublishController.java b/src/main/java/com/moon/server/controller/data/PublishController.java
index eb1240b..b88a93a 100644
--- a/src/main/java/com/moon/server/controller/data/PublishController.java
+++ b/src/main/java/com/moon/server/controller/data/PublishController.java
@@ -201,7 +201,7 @@
             }
 
             permsService.clearPermsCache();
-            Integer rows = shuJianService.insertSjService(entity, req, res);
+            Integer rows = shuJianService.insertSjService(entity);
 
             return success(rows);
         } catch (Exception ex) {
diff --git a/src/main/java/com/moon/server/entity/data/PublishEntity.java b/src/main/java/com/moon/server/entity/data/PublishEntity.java
index bccbfd8..3083ca0 100644
--- a/src/main/java/com/moon/server/entity/data/PublishEntity.java
+++ b/src/main/java/com/moon/server/entity/data/PublishEntity.java
@@ -10,7 +10,11 @@
 public class PublishEntity implements Serializable {
     private static final long serialVersionUID = -386130556178340032L;
 
-    private int id;
+    private Integer id;
+
+    private Integer layerid;
+
+    private Integer serviceid;
 
     private String name;
 
@@ -20,23 +24,31 @@
 
     private String type;
 
-    private int status;
+    private Integer status;
 
     private String dirid;
 
     private String depid;
 
-    private int min;
+    private Integer enhanceType;
 
-    private int max;
+    private Integer min;
+
+    private Integer max;
+
+    private Integer epsg;
+
+    private String ctType;
+
+    private String ctJson;
 
     private String json;
 
-    private int createUser;
+    private Integer createUser;
 
     private Timestamp createTime;
 
-    private int updateUser;
+    private Integer updateUser;
 
     private Timestamp updateTime;
 
@@ -52,19 +64,31 @@
 
     private String updateName;
 
-    private Integer layerid;
-
-    private Integer serviceid;
-
     public PublishEntity() {
     }
 
-    public int getId() {
+    public Integer getId() {
         return id;
     }
 
-    public void setId(int id) {
+    public void setId(Integer id) {
         this.id = id;
+    }
+
+    public Integer getLayerid() {
+        return layerid;
+    }
+
+    public void setLayerid(Integer layerid) {
+        this.layerid = layerid;
+    }
+
+    public Integer getServiceid() {
+        return serviceid;
+    }
+
+    public void setServiceid(Integer serviceid) {
+        this.serviceid = serviceid;
     }
 
     public String getName() {
@@ -99,11 +123,11 @@
         this.type = type;
     }
 
-    public int getStatus() {
+    public Integer getStatus() {
         return status;
     }
 
-    public void setStatus(int status) {
+    public void setStatus(Integer status) {
         this.status = status;
     }
 
@@ -123,20 +147,52 @@
         this.depid = depid;
     }
 
-    public int getMin() {
+    public Integer getEnhanceType() {
+        return enhanceType;
+    }
+
+    public void setEnhanceType(Integer enhanceType) {
+        this.enhanceType = enhanceType;
+    }
+
+    public Integer getMin() {
         return min;
     }
 
-    public void setMin(int min) {
+    public void setMin(Integer min) {
         this.min = min;
     }
 
-    public int getMax() {
+    public Integer getMax() {
         return max;
     }
 
-    public void setMax(int max) {
+    public void setMax(Integer max) {
         this.max = max;
+    }
+
+    public Integer getEpsg() {
+        return epsg;
+    }
+
+    public void setEpsg(Integer epsg) {
+        this.epsg = epsg;
+    }
+
+    public String getCtType() {
+        return ctType;
+    }
+
+    public void setCtType(String ctType) {
+        this.ctType = ctType;
+    }
+
+    public String getCtJson() {
+        return ctJson;
+    }
+
+    public void setCtJson(String ctJson) {
+        this.ctJson = ctJson;
     }
 
     public String getJson() {
@@ -147,11 +203,11 @@
         this.json = json;
     }
 
-    public int getCreateUser() {
+    public Integer getCreateUser() {
         return createUser;
     }
 
-    public void setCreateUser(int createUser) {
+    public void setCreateUser(Integer createUser) {
         this.createUser = createUser;
     }
 
@@ -163,11 +219,11 @@
         this.createTime = createTime;
     }
 
-    public int getUpdateUser() {
+    public Integer getUpdateUser() {
         return updateUser;
     }
 
-    public void setUpdateUser(int updateUser) {
+    public void setUpdateUser(Integer updateUser) {
         this.updateUser = updateUser;
     }
 
@@ -225,21 +281,5 @@
 
     public void setUpdateName(String updateName) {
         this.updateName = updateName;
-    }
-
-    public Integer getLayerid() {
-        return layerid;
-    }
-
-    public void setLayerid(Integer layerid) {
-        this.layerid = layerid;
-    }
-
-    public Integer getServiceid() {
-        return serviceid;
-    }
-
-    public void setServiceid(Integer serviceid) {
-        this.serviceid = serviceid;
     }
 }
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 ae919da..3e61d66 100644
--- a/src/main/java/com/moon/server/service/data/ShuJianService.java
+++ b/src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.moon.server.entity.all.StaticData;
 import com.moon.server.entity.ctrl.PubEntity;
+import com.moon.server.entity.data.MetaPubEntity;
 import com.moon.server.entity.data.PublishEntity;
 import com.moon.server.entity.shujian.*;
 import com.moon.server.helper.HttpHelper;
@@ -30,8 +31,6 @@
  */
 @Service
 public class ShuJianService {
-    private final static Log log = LogFactory.getLog(ShuJianService.class);
-
     @Value("${shujian.ak}")
     private String ak;
 
@@ -40,6 +39,8 @@
 
     @Resource
     PublishService publishService;
+
+    private final static Log log = LogFactory.getLog(ShuJianService.class);
 
     /**
      * 鍒嗛〉鏌ヨ鏁扮畝鐨勯鑹茶〃
@@ -58,22 +59,26 @@
     /**
      * 鎻掑叆鏁扮畝鏈嶅姟
      */
-    public Integer insertSjService(PubEntity pubEntity, HttpServletRequest req, HttpServletResponse res) {
-        CreateLayerEntity layerEntity = createLayerEntity(pubEntity);
+    public Integer insertSjService(PubEntity pub) {
+        CreateLayerEntity layerEntity = createLayerEntity(pub);
         Integer layerId = postLayerEntity(layerEntity);
         if (null == layerId) {
             return 0;
         }
 
-        CreateServiceEntity serviceEntity = createServiceEntity(pubEntity);
+        CreateServiceEntity serviceEntity = createServiceEntity(pub);
         Integer serviceId = postServiceEntity(serviceEntity);
         if (null == serviceId) {
             return 0;
         }
 
-        PublishEntity publishEntity = createPublishEntity(pubEntity, layerId, serviceId);
+        PublishEntity publishEntity = createPublishEntity(pub, layerId, serviceId);
+        Integer id = publishService.insert(publishEntity);
+        if (null == id) {
+            return id;
+        }
 
-        return publishService.insert(publishEntity);
+        return insertMetaPub(pub, id);
     }
 
     /**
@@ -158,22 +163,64 @@
      * 鍒涘缓鍙戝竷瀹炰綋绫�
      */
     public PublishEntity createPublishEntity(PubEntity pub, Integer layerId, Integer serviceId) {
-        String epsg = (StaticData.I104903 == pub.getEpsgCode() ? "ESRI:" : "EPSG:") + pub.getEpsgCode();
-
         PublishEntity entity = new PublishEntity();
         entity.setType(pub.getType());
         entity.setName(pub.getName());
         entity.setMin(pub.getMin());
         entity.setMax(pub.getMax());
-        entity.setBak(epsg);
+        entity.setBak(getEpsg(pub));
         entity.setCreateUser(pub.getUserId());
         entity.setDirid(pub.getDircode());
         entity.setDepid(pub.getDepcode());
         entity.setStatus(3);
         entity.setLayerid(layerId);
         entity.setServiceid(serviceId);
+        entity.setJson(getColorTableJson(pub));
 
         return entity;
+    }
+
+    /**
+     * 鑾峰彇EPSG缂栫爜
+     */
+    public String getEpsg(PubEntity pub) {
+        if (StaticData.I104903 == pub.getEpsgCode()) {
+            return "ESRI:" + pub.getEpsgCode();
+        }
+
+        return "EPSG:" + pub.getEpsgCode();
+    }
+
+    /**
+     * 鑾峰彇棰滆壊琛ㄧ殑JSON瀛楃涓�
+     */
+    public String getColorTableJson(PubEntity pub) {
+        if (null == pub.getColorTable() && null == pub.getGradientColorTable()) {
+            return null;
+        }
+
+        if (null != pub.getGradientColorTable()) {
+            return JSON.toJSONString(pub.getGradientColorTable());
+        }
+
+        return JSON.toJSONString(pub.getColorTable());
+    }
+
+    /**
+     * 鎻掑叆鍏冩暟鎹彂甯冪被
+     */
+    private int insertMetaPub(PubEntity pub, Integer pubid) {
+        int count = 0;
+        for (Integer metaid : pub.getIds()) {
+            MetaPubEntity mp = new MetaPubEntity();
+            mp.setMetaid(metaid);
+            mp.setPubid(pubid);
+            mp.setCreateUser(pub.getUserId());
+
+            count += publishService.insertMetaPub(mp);
+        }
+
+        return count;
     }
 
     /**
@@ -199,7 +246,6 @@
      */
     public Integer deletesSjServices(List<Integer> ids) {
         String strs = StringHelper.join(ids, ",");
-
         List<PublishEntity> list = publishService.selectByIds(strs);
         if (null == list || list.isEmpty()) {
             return 0;
diff --git a/src/main/resources/mapper/data/PublishMapper.xml b/src/main/resources/mapper/data/PublishMapper.xml
index 582575d..b1d360e 100644
--- a/src/main/resources/mapper/data/PublishMapper.xml
+++ b/src/main/resources/mapper/data/PublishMapper.xml
@@ -127,9 +127,9 @@
         </selectKey>
 
         insert into lf.sys_publish
-        (layerid,serviceid,name,url,path,type,status,dirid,depid,min,max,json,create_user,create_time,geom,bak)
+        (layerid,serviceid,name,url,path,type,status,dirid,depid,enhance_type,min,max,epsg,ct_type,ct_json,json,create_user,create_time,geom,bak)
         values
-        (#{layerid},#{serviceid},#{name},#{url},#{path},#{type},#{status},#{dirid},#{depid},#{min},#{max},#{json},#{createUser},now(),${geom},#{bak})
+        (#{layerid},#{serviceid},#{name},#{url},#{path},#{type},#{status},#{dirid},#{depid},#{enhanceType},#{min},#{max},#{epsg},#{ctType},#{ctJson},#{json},#{createUser},now(),${geom},#{bak})
     </insert>
 
     <insert id="insertPubDown">
@@ -144,10 +144,10 @@
 
     <insert id="inserts">
         insert into lf.sys_publish
-        (layerid,serviceid,,name,url,path,type,status,dirid,depid,min,max,json,create_user,create_time,geom,bak)
+        (layerid,serviceid,name,url,path,type,status,dirid,depid,enhance_type,min,max,epsg,ct_type,ct_json,json,create_user,create_time,geom,bak)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.layerid},#{item.serviceid},#{item.name},#{item.url},#{item.path},#{item.type},#{item.status},#{item.dirid},#{item.depid},#{item.min},#{item.max},#{item.json},#{item.createUser},now(),${item.geom},#{item.bak})
+            (#{item.layerid},#{item.serviceid},#{item.name},#{item.url},#{item.path},#{item.type},#{item.status},#{item.dirid},#{item.depid},#{item.enhanceType},#{item.min},#{item.max},#{item.epsg},#{item.ctType},#{item.ctJson},#{item.json},#{item.createUser},now(),${item.geom},#{item.bak})
         </foreach>
     </insert>
 
@@ -171,16 +171,14 @@
 
     <update id="update">
         update lf.sys_publish
-        set layerid=#{layerid},serviceid=#{serviceid},name=#{name},url=#{url},path=#{path},type=#{type},status=#{status},dirid=#{dirid},depid=#{depid},min=#{min},max=#{max},json=#{json},update_user=#{updateUser},update_time=now(),geom=${geom},bak=#{bak}
+        set layerid=#{layerid},serviceid=#{serviceid},name=#{name},url=#{url},path=#{path},type=#{type},status=#{status},dirid=#{dirid},depid=#{depid},enhance_type=#{enhanceType},min=#{min},max=#{max},epsg=#{epsg},ct_type=#{ctType},ct_json=#{ctJson},json=#{json},update_user=#{updateUser},update_time=now(),geom=${geom},bak=#{bak}
         where id=#{id}
     </update>
 
     <update id="updates">
         <foreach collection="list" item="item" index="index" separator=";">
             update lf.sys_publish
-            <set>
-                layerid=#{item.layerid},serviceid=#{item.serviceid},name=#{item.name},url=#{item.url},path=#{item.path},type=#{item.type},status=#{item.status},dirid=#{item.dirid},depid=#{item.depid},min=#{item.min},max=#{item.max},json=#{item.json},update_user=#{item.updateUser},update_time=now(),geom=#{item.geom},bak=#{item.bak}
-            </set>
+            set layerid=#{item.layerid},serviceid=#{item.serviceid},name=#{item.name},url=#{item.url},path=#{item.path},type=#{item.type},status=#{item.status},dirid=#{item.dirid},depid=#{item.depid},enhance_type=#{item.enhanceType},min=#{item.min},max=#{item.max},epsg=#{item.epsg},ct_type=#{item.ctType},ct_json=#{item.ctJson},json=#{item.json},update_user=#{item.updateUser},update_time=now(),geom=${item.geom},bak=#{item.bak}
             where id = #{item.id}
         </foreach>
     </update>

--
Gitblit v1.9.3